HHTP协议,即超文本传输协议,用于传输www方式的数据。
通常,HTTP消息包括客户端向服务器的请求消息和服务器向客户机的响应消息。
这两种类型的消息有一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。
HTTP的头域包括通用头,请求头,响应头和实体头四个部分。
通用头域
通用头域包含请求和响应消息都支持的头域,包括Cache-control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。
Cache-control,指定请求和响应遵循的缓存机制。
请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age等。
public:指示响应可被任何缓存区缓存
private:允许服务器仅仅描述当前用户的部分响应消息,此响应消息对于其他用户无效
no-cache:请求或响应消息不缓存
no-store:用于防止重要信息被无意发布。在请求消息中发送将使得请求和响应消息都不适用缓存
max-age:指示客户端可以接受生存期不大于指定时间的响应,以秒为单位
Date,表示消息发送的时间,描述的时间为世界标准时,北京时间要加上八个小时
Pragma,用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-control:no-cache相同
Host头域
Host头域指定请求资源的Internet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。
Referer头域
Referer头域允许客户端指定请求url的资源源地址,这样可以允许服务器生成回退链表,可以用来登陆,优化Cache。
响应消息
1xx:信息响应类,表示接收到请求并且继续处理
2xx:成功处理响应类,表示动作被成功接收,理解和接受
3xx:重定向响应类,为了完成指定动作,必须接受进一步处理
4xx:客户端错误,客户的请求包含语法错误或者不能正确执行
5xx:服务器端错误,服务器不能正确执行一个正确的请求
Location响应头:用于重定向接收者到一个新的url地址
Last-Modified实体头:指定服务器上保存内容的最后修订时间