1、Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type。
2、Accept-Charset:浏览器申明自己接收的字符集
    Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)
    Accept-Language:浏览器申明自己接收的语言
    语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。
3、Accept-Ranges:WEB服务器表明自己是否接收获取其某个实体的一部分(比如文件的一部分)的请求。bytes:表示接收,none:表示不接受。
4、Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从生产到现在经过多长时间了。
5、Authorization:当客户端接收到来自WEB服务器的WWW-Authenticate响应时,用该头部来回应自己的身份验证信息给WEB服务器。
6、Cache-Control:
    请求:
        no-cache:不要缓存的实体,要求现在从WEB服务器去取
        max-age:只接受Age值小于max-age值,并且没有过期对象
        max-stale:可以接收过去的对象,但是过期时间必须小于max-stale值
        min-fresh:接受其新鲜生命期大于当前Age跟min-fresh值之和的缓存对象
    响应:
        public:可以用Cached内容回应任何用户
        private:只能用缓存内用回应先前请求该内容的那个用户
        no-cache:可以缓存,但是只有在跟WEB服务器验证了其有效后,才能返回给客户端
        max-age:本响应包含的对象的过期时间
        ALL:no-store不允许缓存
7、Connection
    请求:
        close:告诉WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接后的请求了
        keepalive:告诉WEB服务器或者代理服务器,在完成本次请求后,保持连接,等待本次连接的后续请求
    响应:
        close:连接已经关闭
        keepalive:连接保持着,在等待本次连接的后续请求
        Keep-Alive:如果浏览器请求保持连接,则该头部表明希望WEB服务器保持连接多长时间(秒)。例如:Keep-Alive:300
8、Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。例如Content-Encoding:gzip
9、Content-Language:WEB服务器告诉浏览器自己响应的对象的语言。
10、Content-Lenth:WEB服务器告诉浏览器自己响应对象的长度。例如:Content-Lenth:26012
11、Content-Range:WEB服务器表明响应包含的部分对象为整个对象的哪个部分,例如:Content-Range:bytes 210010-47201/47202
12、Content-Type:WEB服务器告诉浏览器自己响应的对象的类型。例如:Content-Type:application/xml
13、ETag:就是一个对象(比如URL)的标志值,就一个对象而言,比如一个html文件,如果文件修改了,其ETag也会修改,所以ETag的作用
    和Last-Modified的作用差不多,主要供WEB服务器判断一个对象是否改变了。比如前一次请求某个html文件是获得了其ETag,当这次
    又请求这个文件时,浏览器就会把先前获得的ETag值发送给WEB服务器,然后WEB服务器会把这个ETag跟该文件当前的ETag进行对比,
    然后就知道这个文件有没有改变了。
14、Expired:WEB服务器表明该实体将在什么时候过期,对于过期了的对象,只有在跟WEB服务器验证了其有效性后,才能用来响应客户请求,
    是HTTP/1.0的头部。例如:Ecpires:Thu,04 Jun 2017 14:59:58 GMT
15、Host:客户端制定自己想访问的WEB服务器的域名/IP地址和端口号。例如:Host:www.fansik.com
16、If-Match:如果对象的ETag没有改变,其实也就意味着对象没有改变,才执行请求的动作。
17、If-None-Match:如果对象的ETag改变了,其实也就意味着对象也改变了,才执行请求的动作。
18、If-Modeified-Since:如果请求的对象在该头部指定的时间之后修改了,才执行请求的动作(比如返回对象),否则返回代码304,告诉浏览器
    该对象没有修改。例如:If-Modeified-Since:Thu,04 Jun 2017 14:59:58 GMT
19、If-Unmodified-Since:如果请求的对象在该头部指定的时间之后没修改过,才执行请求的动作(比如返回对象)。
20、If-Range:浏览器告诉WEB服务器,如果我请求的对象没有改变,就把我缺少的部分给我,如果对象改变了,就把整个对象给我。浏览器通过
    发送请求对象的ETag或者自己所知道的最后修改时间给WEB服务器,让其判断对象是否改变了,总是跟Range头部一起使用。
21、Last-Modeified:WEB服务器认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间等等。例如:Last-Modified:Tue, 06 May 2008 02:42:43 GMT
22、Location:WEB服务器告诉浏览器,试图访问的对象已经被迁移到别的位置了,到该头部制定的位置去取。例如:Location:http://www.fansik.com/fansik.gif
23、Pramga:主要使用Pramga:no-cache,相当于Cache-Control:no-cache。例如:Pragma:no-cache
24、Proxy-Authenticate:代理服务器响应浏览器,要求其提供代理身份验证信息。
    Proxy-Authorization:浏览器响应代理服务器的身份验证请求,提供自己的身份信息。
25、Range:浏览器(比如Flashget多线程下载时)告诉WEB服务器自己想取对象的哪部分。例如:Range:bytes=1173546-
26、Referer:浏览器向WEB服务器表明自己是从哪个页面/URL获得/点击当前请求中的网址/URL。例如:Referer:http://www.fansik.com
27、Server:WEB服务器表明自己是什么软件及版本等信息,例如:Server:"nginx"
28、User-Agent:浏览器表明自己的身份(是哪种浏览器)。例如:User-Agent    "Mozilla/5.0 (Windows NT 10.0;… Gecko/20100101 Firefox/54.0"
29、Transfer-Encoding:WEB服务器表明自己对本响应消息体(不是消息体里面的对象)做了怎样的编码,比如是否分块(chunked)。例如:Transfer-Encoding:"chunked"
30、Vary:WEB服务器用该头部的内容告诉Cache服务器,在什么条件下才能用本响应所返回的对象响应后续的请求,假如源WEB服务器在接到第一个请求消息时,
    其响应消息的头部为:Content-Encoding:gzip;Vary:Content-Encoding那么Cache服务器会分析后续请求消息的头部,检查其Accept-Encoding,是否
    跟先前响应的Vary头部值一直,即是否使用相同的内容编码方法,这样就可以防止Cache服务器用自己Cache里面压缩后的实体响应给不具备解压能力的浏览器。
    例如:Vary:Accept-Encoding
31、Via:列出客户端到OCS或者相反方向的响应经过了那些代理服务器,他们用什么协议(和版本)发送的请求。当客户端请求到达第一个代理服务器时,该服务器
    会在自己发出的请求里面添加Via头部,并天上自己的相关信息,当下一个代理服务器收到第一个代理服务器的请求时,会在自己发出的请求里面复制前一个
    代理服务器的请求Via头部,并把自己的相关信息加到后面,以此类推,当OCS收到最后一个代理服务器的请求时,检查Via头部,就知道该请求所经过的路由。
    例如:Via:"1.1 varnish-v4"

有图有真相:

最新文章

  1. mvc SelectList selected失效的解决方法
  2. 赴美工作常识(Part 4 - 面试)
  3. JDBC成绩管理系统
  4. POJ1459Power Network(dinic模板)
  5. 雅虎工程师提供的CSS初始化代码
  6. POJ3207+tarjan+2-sat
  7. vmware vms migration to openstack
  8. 反射操作辅助类ReflectionUtil
  9. 设置webstorm缩写代码
  10. RSA加密传输代码示例
  11. codeforces 343D 树剖后odt维护
  12. scala的map操作
  13. MapReduce多种join实现实例分析(一)
  14. 7.ViewPagerIndicator
  15. 【设计模式】—— 职责链模式ChainOfResponsibility
  16. 帝国cms使用自定义函数获取新闻文章数 实例分享
  17. linux磁盘 分区 物理卷 卷组 逻辑卷 文件系统加载点操作案例
  18. JS Web的Flex弹性盒子模型
  19. python学习笔记(二十八)日志模块
  20. STM32的System memory

热门文章

  1. javascript中window与document对象、setInterval与setTimeout定时器的用法与区别
  2. Closure闭包示例
  3. script
  4. C++语言基础(19)-模板的显式具体化
  5. vimrc之fileformat
  6. poj 2942 Knights of the Round Table(无向图的双连通分量+二分图判定)
  7. 内核交互--procfs
  8. CF 482A(Diverse Permutation-相邻距离不同数为k的1~n全排列构造)
  9. OpenFiler configuration
  10. 第一百八十四节,jQuery-UI,验证注册表单