zoukankan      html  css  js  c++  java
  • 为你详细解读HTTP请求头的具体含意

    当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器。你明白HTTP请求头的具体含意吗?下面一条条的为你详细解读,先看某一次HTTP请求头的具体内容:

      Accept-Language: zh-cn,zh;q=0.5
      Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      Accept-Encoding: gzip, deflate
      User-Agent: Mozilla/5.0 (compatible; 域名)
      Host: 域名
      Connection: Keep-Alive

     下面根据以上HTTP请求内容的先后顺序一条条的解读:

    1. Accept-Language: zh-cn,zh;q=0.5

        意思:浏览器支持的语言分别是中文和简体中文,优先支持简体中文。

        详解:

        Accept-Language表示浏览器所支持的语言类型;

        zh-cn表示简体中文;zh 表示中文;

        q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。

    2.   Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7

        意思:浏览器支持的字符编码分别是 GB2312、utf-8 和任意字符,优先顺序是 GB2312、utf-8、*。

        详解:

        Accept-Charset告诉 Web 服务器,浏览器可以接受哪些字符编码;

        GB2312是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312 编码通行于中国大陆;新加坡等地也采用此编码。

        utf-8是 Unicode 的一种变长字符编码又称万国码,由 Ken Thompson 于1992年创建,现在已经标准化为 RFC 3629。

        *表示任意字符编码,虽然 q 都是等于 0.7,但明确指定的 GB2312,utf-8 比 * 具有更高的优先级。

    3.   Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

        意思:浏览器支持的 MIME 类型分别是 text/html、application/xhtml+xml、application/xml 和 */*,优先顺序是它们从左到右的排列顺序。

        详解:

        Accept表示浏览器支持的 MIME 类型;

        MIME的英文全称是 Multipurpose Internet Mail Extensions(多功能 Internet 邮件扩充服务),它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。

        text/html,application/xhtml+xml,application/xml 都是 MIME 类型,也可以称为媒体类型和内容类型,斜杠前面的是 type(类型),斜杠后面的是 subtype(子类型);type 指定大的范围,subtype 是 type 中范围更明确的类型,即大类中的小类。

        Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

        text/html表示 html 文档;

        Application:用于传输应用程序数据或者二进制数据;

        application/xhtml+xml表示 xhtml 文档;

        application/xml表示 xml 文档。

    4.   Accept-Encoding: gzip, deflate

        意思:浏览器支持的压缩编码是 gzip 和 deflate。

        详解:

        Accept-Encoding表示浏览器有能力解码的编码类型;

        gzip是 GNU zip 的缩写,它是一个 GNU 自由软件的文件压缩程序,也经常用来表示 gzip 这种文件格式。

        deflate是同时使用了 LZ77 算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。

         User-Agent: Mozilla/5.0 (compatible;域名)

        

    5. 意思:使用的用户代理是 Mozilla/5.0 (compatible; 域名)。

        详解:

        User-Agent(用户代理),简称 UA,它是一个特殊字符串头,使得服务器能够识别客户端使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

        Mozilla/5.0:Mozilla 是浏览器名,版本是 5.0;

        compatible(兼容的)表示平台是兼容模式;

    6.   Host: 域名

        Host表示请求的服务器网址;

    7.   Connection: Keep-Alive

        Connection表示客户端与服务连接类型;

        Keep-Alive表示持久连接;

      请求头
      Accept:客户机通过这个头,告诉服务器,它支持哪些数据类型
      Accept-Charset::客户机通过这个头,告诉服务器,它支持的编码
      Accept-Encoding: 客户机通过这个头,告诉服务器,支持哪种数据压缩格式
      Accept-Language: 客户机采用的是哪个语言
      Host:客户机通过这个头,告诉服务器,想访问服务器哪台主机
      If-Modified-Since:客户机通过这个头,告诉服务器,数据缓存的时间
      Referer:客户机通过这个头,告诉服务器,客户机是从哪个页面来的(防盗链)
      User-Agent: 说明客户机操作系统信息,以及浏览器信息
      Cookie:客户机通过这个头,可以带点数据给服务器
      Connection

      响应头
      Location:服务器通过这个头告诉浏览器去访问哪个页面,这个头通常配合302状态码使用
      Content-Encoding: 服务器通过这个头告诉浏览器,回送的数据采用的压缩格式
      Content-Length:  服务器通过这个头告诉浏览器,回送的数据的大小
      Content-Type: 服务器通过这个头告诉浏览器,回送数据的类型
      Last-Modified: 服务器通过这个头告诉浏览器,资源的最后修改时间
      Refresh:服务器通过这个头告诉浏览器,定时刷新网页
      Content-Disposition: attachment; filename=aaa.zip:服务器通过这个头告诉浏览器,以下载方式打开数据
      ETag: W/"7777-1242234904000":缓存相关的头,为每一个资源配一个唯一的编号


      Expires: 0 
      Cache-Control: no-cache 
      Pragma: no-cache   这三个头组合使用,让浏览器不要缓存数据

  • 相关阅读:
    学习进度笔记13
    学习进度笔记12
    学习进度笔记11
    学习进度笔记10
    学习进度笔记9
    《架构之美》读书笔记1
    学习进度笔记8
    电话拨号盘(带触摸振动反馈)
    堆排序(小根堆)
    图论起步(长期更新)
  • 原文地址:https://www.cnblogs.com/ChrisMurphy/p/4941099.html
Copyright © 2011-2022 走看看