一、http协议
http协议(HyperText Transfer Protocol)是因特网上应用最为广泛的一种网络传输协议,所有的3w文件必须遵守这个协议,绝大多数的web开发都是构建在http 之上。
http是一个基于tcp/ip通信协议来传输数据的协议。
设计http的最初目的是为了提供接收和发布html页面的方法。
二、特点
- 无状态
无状态:http协议是无状态协议。无状态是指对于事务处理没有以及能力。意味着如果后续处理需要前面的信息需要重新传送。可能导致每次传送的数据量增大。另一方面,在服务器不需要以前信息时它应答很快。
- 无连接
无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,并接收到客户的应答后,断开连接,这样可以节省传输时间。
支持c/s模式
- 媒体独立
媒体独立:任何数据的类型都可以通过http发送。客户端和服务器指定使用合适的MIME-type类型
三、客户端请求信息
客户端向服务器发送请求,告知服务器自己的请求。
客户端发送一个http请求到服务器的请求消息包括以下格式:
-
请求行
请求行:包括请求的方法,资源路径URL,协议版本version -
请求首部字段
请求首部字段:包括一些访问的域名、用户代理、Cookie等信息 -
空行
-
请求数据
请求数据:http请求的数据
三、服务器响应信息
-
状态行
包括协议版本Version、状态码Status Code、回应短语 -
响应首部字段
包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息; -
空行
-
响应正文
就是响应的具体数据
四、http 请求方法
五、http 状态码
六、常见的首部
-
通用首部字段
Date:创建报文时间
Connection :连接的管理
Cache-Control:缓存的控制
Transfer-Encoding 报文主体的传输编码方式 -
请求首部字段
Host:请求资源所在服务器
Accept:可处理的媒体类型
Accept-Charset:可接收的字符集
Accept-Encoding:可接受的内容编码
Accept-Language:可接受的自然语言 -
响应首部字段
Accept-Ranges:可接受的字节范围
Location:令客户端重新定向到的URI
Server:HTTP服务器的安装信息 -
实体首部字段
Allow:资源可支持的HTTP方法
Content-Type:实体主类的类型
Content-Encoding:实体主体适用的编码方式
Content-Language:实体主体的自然语言
Content-Length:实体主体的的字节数
Content-Range:实体主体的位置范围,一般用于发出部分请求时使用