包括普通报头、请求报头、响应报头、实体报头。每个报头域组成形式:名字+:+空格+值,名字不区分大小写。
Host: 指定请求资源的Internet主机和端口号。
User-Agent: 简称UA,发出请求的用户信息。只要使用了基于HTTP协议的客户端软件都会发送这个请求,无论是手机端还是PDA等。这个UA头是辨别客户端所用设备的重要依据。
Accept: 告诉服务器可以接受的文件格式。
Cookie: 一种是客户端向服务器端发送,使用Cookie报头;另一种是服务器发送给客户端的,报头为Set-Cookie。二者的主要区别是Cookie报头的value里可以有多个Cookie值,并且不需要显式指定domain等。而Set-Cookie报头里一条记录只能有一个Cookie的value,需要指明domain、path等。
Cache-Control: 指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached;响应消息中的指令包括public、private、no-cache、no-stor、no-transform、must-revlidate、proxy-revalidate、max-age。
Referer: 客户端指定请求URI的源资源地址。
Content-Length: 内容长度
Content-Range: 响应的资源范围。可以在每次请求中标记请求的资源范围,在连接断开重连时,客户端只请求该资源未下载的部分,而不是重新请求整个资源,实现断点续传。迅雷就是基于这个原理,使用多线程分段读取网络上的资源,最后再合并。
Accept-Encoding: 指定所能接受的编码方式。通常服务器会对页面进行GZIP压缩后再输出,一般浏览器均支持对GZIP压缩的数据进行处理。
自定义报头: 在HTTP消息中,也可以使用没有在正式规范中定义的头字段。称为自定义的HTTP头或者扩展头。