请求头
请求头只出现在HTTP请求中,请求报头允许客户端向服务器传递请求的符加信息和客户端自身的信息。常用的HTTP请求头如下。
①Host
Host请求报头域主要用于指定被请求资源的Internet 主机和端口号,例如:HOST:www.xxxxx.com:801
②User-Agent
User-Agent 请求报头域允许客户端将它的操作系统、浏览器和其他属性告诉服务器。登录一些网站时,很多时候都可以见到显示我们的浏览器、系统信息,这些都是此头的作用,如:User-Agent:My privacy
③Referer
Referer包含一个URL,代表当前访问URL的上一个URL,也就是说,用户是从什么地方来到本页面的。如:Referer:www.xxxxx.com/login.php,代表用户从login.php页面来到当前页面的。
④Cookie
Cookie是非常重要的请求头,它是一段文本,常用来表示请求者身份等。
⑤Range
Range可以请求实体的部分内容,多线程下载一定会用到此请求头,例如:
表示头500字节:bytes=0~499
表示第二个500字节:bytes=500~999
表示最后500字节:bytes=-500
表示500字节以后的范围:bytes=500-
⑥x-forward-for
x-forward-for即XXF开头,它代表请求端的IP,可以有多个,中间以逗号隔开。
⑦Accept
Accept请求报头域用于指定客户端接收哪些MIME类型的信息,如 Accept:text/html,表明客户端希望接收HTML文本。
⑧Accept-Charset
Accept-Charset请求报头域用于指定客户端接收的字符集。如Accept-Charset:ios-8859-1,gb2312。如果在请求消息中没有设置这个域,默认是任何字符集都可以接收。
响应头
响应头是服务器根据请求向客户端发送的HTTP头。常见的HTTP响应头如下。
①Server
服务器所使用的Web服务器名称,如Server:Apache/1.3.6(Unix),攻击者通过查看此头,可以探测Web服务器名称。所以,建议在服务器端进行修改此头的信息。
②Set-Cookie
向客户端设置Cookie,通过查看此头,可以清楚地看到服务器向客户端发送的Cookie信息。
③Last-Modified
服务器通过这个头告诉浏览器,资源的最后修改时间。
④Location
服务器通过这个头告诉浏览器去访问哪个页面,浏览器接收到这个请求之后,通常会立刻访问Location头所指向的页面。这个头通常配合302状态码使用。
⑤Refresh
服务器通过Refersh头告诉浏览器定时刷新浏览器。
普通头
在普通报头中,有少数报头域用于所有的请求和响应消息,但并不用于被传输的实体,只用于传输的消息。例如:Date,表示消息产生的日期和时间。Connection,允许发送指定连接的选项。例如,指定连接是连续的,或者指定“close”选项,通知服务器,在响应完成后,关闭连接,Cache-Control,用于指定缓存指令,缓存指令是单向的,且是独立的。
ps:普通头作为了解即可。
实体头
请求和响应消息都可以传送一个实体头。实体头定义了关于实体正文和请求所标识的资源的元信息。元信息也就是实体内容的属性,包括实体信息类型、长度、压缩方法、最后一次修改时间等。常见的实体头如下。
①Content-Type
Content-type实体头用于向接收方指示实体的介质类型。
②Content-Encoding
Content-Encoding头被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的符加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。
③Content-Length
Content-Length实体报头用于指明实体正文的长度,以字节方式存储的十进制数字来表示。
④Last-Modified
Last-Modified实体报头用于指示资源的最后修改日期和时间。