• headers总结


    请求头

    Host

      Host: rlog.cn

      浏览器请求的是哪个域名下的资源,这只是基本的主机名,包含域名和子级域名。

    User-Agent

      User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)

      浏览器名和版本号.

      操作系统名和版本号.

      默认语言.

    Accept-Language

      Accept-Language: en-us,en;q=0.5

      用户的默认语言设置

      通过逗号分割来携带多国语言。第一个会是首选的语言,其它语言会携带一个“q”值,来表示用户对该语言的喜好程度(0~1)。

    Accept-Encoding

      Accept-Encoding: gzip,deflate

      服务器就会压缩过的HTML发送给浏览器。这可以减少近80%的文件大小,以节省下载时间和带宽。

    Cookie

      Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120; foo=bar

      发送浏览器中存储的Cookie信息给服务器。

    Referer

      Referer: http://net.tutsplus.com/

      referring url信息。

    Authorization

      Authorization: Basic bXl1c2VyOm15cGFzcw==

      需要输入帐号密码来进行认证

    响应头

    Expires | Cache-Control

      Expires: Sat, 28 Nov 2009 05:36:25 GMT | Cache-Control: max-age=3600, public

      都是控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只是Cache-Control比Expires可以控制的多一些, 而且Cache-Control会重写Expires的规则。

    Content-Type

      Content-Type: text/html; charset=UTF-8

      浏览器将会依据该参数决定如何对文档进行解析。

    Content-Disposition

      Content-Disposition: attachment; filename="download.zip"

      这个头部信息将告诉浏览器打开一个文件下载窗口,而不是试图解析该响应的内容。

    Content-Length

      Content-Length: 89123

      当内容将要被传输到浏览器时,服务器可以通过该头部告知浏览器将要传送文件的大小(bytes)。

      根据此参数,浏览器可以知道下载进度

    Location

      Location: http://net.tutsplus.com/

      这个头部是用来重定向的。如果响应代码为 301 或者 302 ,服务器就必须发送该头部。

    Set-Cookie

      当一个网站需要设置或者更新你浏览的cookie信息时,它就会使用这样的头部:

      Set-Cookie: skin=noskin; path=/; domain=.amazon.com; expires=Sun, 29-Nov-2009 21:42:28 GMT
      Set-Cookie: session-id=120-7333518-8165026; path=/; domain=.amazon.com; expires=Sat Feb 27 08:00:00 2010 GMT

      每个cookie会作为单独的一条头部信息。注意,通过js设置cookie将不会体现在HTTP头中。

    WWW-Authenticate

      WWW-Authenticate: Basic realm="Restricted Area"

      一个网站可能会通过HTTP发送这个头部信息来验证用户。当浏览器看到头部有这个响应时就会打开一个弹出窗。

    Content-Encoding

      Content-Encoding: gzip

      这个头部通常会在返回内容被压缩时设置。

    两组特殊的请求

    Last-Modified / If-Modified-Since

      If-Modified-Since: Sat, 28 Nov 2009 06:38:19 GMT / Last-Modified: Sat, 28 Nov 2009 03:50:37 GMT

      服务器上文件上次修改的时间,用来比对服务器端文件是否有修改

      是浏览器发送请求到服务器后判断文件是否 已经修改过,如果没有修改过就只发送一个304回给浏览器,告诉浏览器直接从自己本地的缓存取数据;如果修改过那就整个数据重新发给浏览器。

      服务器返回的response的headers中包含; If-Modified-Since--浏览器向服务器发送的request的headers中包含。

    ETag / If-None-Match

      Etag: "pub1259380237;gz" / If-None-Match: "pub1259380237;gz"

      服务器上被请求变量的实体标记,用来比对服务器端文件是否有修改

      浏览器发送请求到服务器后判断文件是否 已经修改过,如果没有修改过就只发送一个304回给浏览器,告诉浏览器直接从自己本地的缓存取数据;如果修改过那就整个数据重新发给浏览器。

      ETag--服务器返回的response的headers中包含; If-None-Match--浏览器向服务器发送的request的headers中包含。

    原理

      是浏览器发送请求到服务器后判断文件是否 已经修改过,如果没有修改过就只发送一个304回给浏览器,告诉浏览器直接从自己本地的缓存取数据;如果修改过那就整个数据重新发给浏览器。

    参考

    Http头介绍:Expires,Cache-Control,Last-Modified,ETag

      http://www.51testing.com/html/28/116228-238337.html

     什么是HTTP Headers?

      https://www.cnblogs.com/yuzhongwusan/archive/2011/10/20/2218954.html

  • 相关阅读:
    MSMQ实现自定义序列化存储
    流程部署的查询、删除、流程
    使用trello管理你的项目
    CentOS 6.4 编译安装 gcc 4.8.1
    jquery实现无限滚动瀑布流实现原理
    系统分析员备考之经济管理篇(二)
    架构、架构师和架构设计
    ASP.net Web API综合示例
    c中函数参数传递
    准备抽象NHibernate和EntityFramework
  • 原文地址:https://www.cnblogs.com/yc913344706/p/8017675.html
Copyright © 2020-2023  润新知