http是属于应用层(基于tcp的连接方式)的面向对象的协议,是计算机通过网络通信的规则,使得浏览器向web服务器请求信息和服务
- 允许任意类型的数据对象,正在传输的类型由Content—Type加以标记
- 无连接:限制每次连接只处理一个请求,服务器处理完客户的应答后,断开连接。
- 支持c/s模式
- 客户向服务器请求服务时,只需传送请求方法和路径
完整的http请求:有7个步骤
1建立tcp连接
2web浏览器向web服务器发送请求命令
3web浏览器发送请求头信息(在chrome下f12查看network中的headers)
4web服务器应答
5web服务器发送应答头信息
6web服务器向浏览器发送数据
7web服务器关闭tcp连接
一个http请求的请求行一般由4部分组成:Method Request-URI HTTP-Version CRLF
Method:http请求的方法或动作,比如是get还是post请求
2正在请求的url(请求的地址
3请求头,包含一些客户端环境信息,身份验证信息,版本信息等
4请求体(请求正文,包含客户提交的查询字符串信息,表单信息等)
get:
一般用于信息获取,使用url传递参数,对所发送信息的数量也有限制,一般在2000个字符串
post:
一般用于修改服务器上的资源,对所发送信息的数量无限制
万次是一样的
响应由三部分组成:
一个数字和文字组成的状态码,用来显示请求是成功还是失败,
响应头,响应头也和请求头一样包含许多有用信息,例如服务器类型,日期时间,内容类型和长度
代码
位数字组成,首位数字定义了状态码的类型:
浏览器请求,正在进一步处理中
200
ok
:重定向,表示请求没有成功,客户必须采取进一步动作
404not
。意味着请求中所引用的文档不存在
500