1.请求头内容
host
服务器地址,表示浏览器要向哪台服务器发送请求,可以是 IP 端口号,也可以是域名。该字段由浏览器生成,JS无法干预
User-Agent
当前浏览器操作系统的信息以及浏览器版本号
Connection
指定与连接相关的属性,如:connection:Keep-Alive,表示保持连接,即浏览器与服务器建立了一次TCP连接以后就可以通过这个已存在的连接来发送请求。我之前一直以为这不是显然的吗?因为http也是基于TCP的嘛然后TCP是面向连接的,可靠的传输,但原来自己有一层关系模糊掉了。不管是TCP传输还是UDP传输,其实HTTP都不关心的,因为HTTP协议是在应用层,所以在讨论这个长连接的时候应该基于应用层。上述保持连接是与之前的不保持连接比较的,即HTTP1.0中如果没有显式的注明connection:Keep-Alive,那么其实服务器与浏览器之间是一种短连接,即浏览器发送请求,服务器返回数据,然后这个连接就关闭了。那么每次发送请求都需要重新建立连接。从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,即最开始说到的情况---浏览器与服务器建立了一次TCP连接以后就可以通过这个已存在的连接来发送请求。
Accept-Charset
浏览器告诉服务端,我支持的编码格式,那服务器就不要发一些我不支持的格式过来了
Accept-Encoding
浏览器告诉服务端,我支持的数据压缩格式,那服务器就不要发一些我不支持的格式过来了
Accept-Language
浏览器告诉服务端,我采用的语言
If-Modified-Since:
告诉服务器,这个资源的缓存时间。具体操作是这样的,当有一个资源需要浏览器缓存一下,以便下次直接使用时,那么这个资源就附上这个字段,其值是最近的修改时间(Modified)。下一次在请求这个资源的时候,服务器就会比对这个字段值,看与服务器上的这个资源的最近修改时间是否一致,一致表示并没有修改过,那就返回304,浏览器收到这个状态码就知道这个资源没有修改过,可以直接在本地提取。
Cookie,Data
2.常见响应头部分
Location
这个字段通常配合302状态使用,用于告诉浏览器你去找谁
Server
告知浏览器,服务器的类型
Content-Type
回送的数据类型,响应正文的类型
Content-Length
响应正文长度
Content-Charset
响应正文使用的数据压缩格式
Content-Language
响应正文使用的语言
Last-Modified
资源最后修改的时间
Refresh
用于控制浏览器定时刷新
ETag
缓存相同的头,被请求变量的实体值,ETag是一个可以与web资源关联的记号
Expires
用于说明网页的失效时间,如果该值为一个<0的值,则服务器是告知浏览器不要缓存
Cache-Control
该字段值为no-cache通知浏览器不要缓存