1.HTTP头部包含的信息
HTTP头部本质上是一个传递重要信息的键值对
通用头部:是客户端和服务器都可以使用的头部,可以在客户端、服务器和其他应用程序之间提供一些非常有用的通用功能,例如Date(报文创建时间),Cache-Control(指定当前的请求/恢复中是否使用缓存)
请求头部:是请求报文特有,它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据,例如Accept(告诉服务器自己允许哪些媒体类型)、Accept-Charset、Accept-Encoding、Accept-Language....等
响应头部:便于客户端提供信息,比如,客服端在与哪种类型的服务器进行交互例如,Server(告知客户端服务器信息)、Retry-After(告知客户端多久后再发送请求)...
实体头部:请求/响应报文中实体部分的首部,比如,可以用实体头部来说明实体主体部分的数据类型,如Content-Language(响应体的语言)、Content-Type(返回内容的MIME类型)
2.Keep-Alive 和 非Keep-Alive(HTTP的通用头部里的Connection参数)
浏览器每次发起HTTP请求都要与服务器创建一个新的TCP链接,服务器完成请求处理后会立即断开TCP连接,然后不断的创建和关闭会耗时耗资源,所以HTTP/1.1版本中默认使用持久链接(Keep-Alive),当然长时间保持TCP链接时容易导致系统资源被无效占用,这时可以设置keepalive_timeout参数,当TCP连接在传送完最后一个HTTP响应,保持连接特定秒数后关闭连接。
3.HTTP长连接和短链接
长连接:多用于操作频繁,点对点的通讯,而且客户端连接数目较少的情况。例如即时通讯、网络游戏等
短链接:用户数目较多的Web网站的 HTTP 服务一般用短连接。例如京东,淘宝
4.HTTP方法
HTTP/1.0 定义了三种请求方法:GET, POST 和 HEAD 方法。
HTTP/1.1 增加了六种请求方法:OPTIONS, PUT, PATCH, DELETE, TRACE 和 CONNECT 方法