HTTP
http(HyperText Transfer Protocol,超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
HTTP请求
每个HTTP请求的第一行都由三个以空格隔开的项目组成
主要包括一下
referer :用于表示发出请求的原始url
User-Agent:提供与浏览器或其他生成请求的客户端软件有关的信息
host:用于指定出现在被访问的完整url中的主机名称
Cookie:用于提交服务器向客户端发布的其他参数
HTTP响应
server:指明所使用的web服务器软件
Set-Cookie:向浏览器发送另一个Cookie,它将在随后向服务器发送的请求中由Cookie消息头返回
Pragma:指示浏览器不要将响应保存在缓存中
Content-Length:规定消息主体的字节长度
HTTP方法
最常用的方法为get和post
get方法的作用在于获取资源
post方法的主要作用是执行操作
还有HEAD,TRACE,OPTIONS,PUT等
HTTP消息头
常用消息头
Connection:用于告诉通信的另一端,在完成HTTP传输后是关闭TCP连接,还是保持连接开放以接收其他消息
Content-Encoding:消息体中的内容指定编码格式(如gzip)
Content-Type:消息体中的内容类型。类如HTML文档类型为text/html,图片类型为image/png,image/jpg等
请求消息头
Accept:告诉服务器客户端愿意接受哪些内容,如图像类型,办公文档格式等
Accept-Encoding:告诉服务器愿意接受哪些内容编码
host:用于指定出现在被访问的完整url中的主机名称
Cookie:用于提交服务器向客户端发布的其他参数
referer :用于表示发出请求的原始url
User-Agent:提供与浏览器或其他生成请求的客户端软件有关的信息
响应消息头
Connection(连接类型):表示客户端与服务器的连接类型。
Cache-Control:这个消息头用于向浏览器传送缓存指令(如no-cache)。
ETag:这个消息头用于指定一个实体标签。客户端可在将来的请求中提交这个标识符。获得和If-None-Match消息头中相同的资源,通知服务器浏览器当前缓存中保存的是哪个版本的资源。
Expires:这个消息头用于向浏览器说明消息主体内容的有效时间。在这个时间之前,浏览器可以使用这个资源的缓存副本。
Location:这个消息头用于在重定向响应(那些状态码以3开头的响应)中说明重定向的目标。
Pragma:这个消息头用于向浏览器传送缓存指令(如no-cache).
Server:这个消息头提供所使用的Web服务器软件的相关信息。
Set-Cookie:这个消息头用于向浏览器发布cookie.浏览器会在随后的请求中将其返回给服务器。
WWW-Authenticate:这个消息头用在带401状态码的响应中,提供与服务器所支持的身份验证类型有关的信息。
X-Frame-Options:这个消息头指示浏览器框架是否及如何加载当前响应。