Fork me on GitHub
代码改变世界

浏览器头信息

2015-09-05 10:01  autrol  阅读(1654)  评论(0编辑  收藏  举报

常规头信息:

Remote Address:远程ip地址,如:120.123.33.34、120.123.33.34:80

Request URL:请求URL,如:http://yangzhinian.com/test.js

Request Method:请求方式,最常见的GET、POST

Status Code:状态码,如:200、404、304

 

请求头信息:

Accept:告诉WEB服务器自己接受什么介质类型,如:text/css

Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)

Accept-Language::浏览器申明自己接收的语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。

Connnection:可以取值close/keep-alive

  • close:告知WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求
  • keep-alive:告知WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求

Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号

Referer:浏览器向WEB 服务器表明自己是从哪个网页/URL跳转到当前网址/URL

User-Agent: 浏览器表明自己的身份(是哪种浏览器)

 

响应头信息:

Access-Control-Allow-Origin:响应文件域名限制,如:设置为http://yangzhinian.com,那么只有在不跨域的情况下才能请求这个文件

Cache-Control:可以取值public/private/no-cache/no-store/max-age/min-fresh/max-stale

  • public:指示响应可被任何缓存区缓存
  • private:指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效
  • no-cache:指示请求或响应消息不能缓存,则cache 不能使用响应来满足随后请求,它必须成功与源头服务器校验之后才可以
  • no-store:用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。这个指令适用于整个消息,可以应用在请求头或者响应头中。如果在请求中发送,则一个cache不能存储这个请求或者随后的响应。如果发送在响应中,一个cache不可以存储响应的任何部分以及相关的部分
  • max-age:指示客户端愿意接受存活时间不大于这里指定的描述的响应。除非max-stale也存在,否则客户端将不愿意接受不新鲜的响应
  • min-fresh:客户端要一个新鲜时间至少是这么多的响应
  • max-stale:指示客户端愿意接受一个超过了过期时间的响应。如果max-stale后面带有值,则它不能接受过期时间超过这个值的响应,如果没有值,则可以接受任何时候的过期响应

Connnection:可以取值close/keep-alive

  • close:告知WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求
  • keep-alive:告知WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求

Content-Encoding:WEB服务器表明自己使用了什么压缩方式(gzip/deflate)压缩响应中的对象

Content-Type:WEB 服务器告诉浏览器自己响应的对象的类型。如:text/css、application/xml

Date:发送HTTP消息的日期。例如:Date: Mon,10PR 18:42:51 GMT 

Expired:WEB服务器表明该实体将在什么时候过期,对于过期了的对象,只有在与WEB服务器验证了其有效性后,才能用来响应客户请求

Last-Modified:WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间, 动态页面的最后产生时间等等

Server:标明Web服务器软件及其版本号的头标。例如:Server: Apache/2.0.46(Win32) 

Transfer-Encoding:通用头标,标明对应被接受方反向的消息体实施变换的类型。例如:Transfer-Encoding: chunked