当我们打开一个网页时,浏览器要向网站服务器发送一个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)的一个无损数据压缩算法。

  5.  

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

      意思:使用的用户代理是 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表示持久连接;

HTTP - 请求头的具体含义的更多相关文章

  1. HTTP请求的基本概念 HTTP请求头和响应头的含义

    1,HTTP请求的基本概念    TCP/UPD/HTTP    *2,HTTP请求头和响应头的含义  请求头:  Accept: text/html,image/*(浏览器可以接收的类型)  Acc ...

  2. HTTP协议及其请求头分析

    HTTP协议及其请求头分析 HTTP协议及其请求头分析   众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP.Archie Gopher等是建立在TCP/IP协议之上的应用 ...

  3. [转]HTTP协议及其请求头分析

      众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP.Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用.  WWW服务器使用 ...

  4. Android系列之网络(二)----HTTP请求头与响应头

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  5. http请求头响应头大全

    转:http://www.jb51.net/article/51951.htm 本文为多篇“HTTP请求头相关文章”及<HTTP权威指南>一书的阅读后个人汇总整理版,以便于理解. 通常HT ...

  6. Http 请求头中的 Proxy-Connection

    平时用 Chrome 开发者工具抓包时,经常会见到 Proxy-Connection 这个请求头.之前一直没去了解什么情况下会产生它,也没去了解它有什么含义.最近看完<HTTP 权威指南> ...

  7. (二)----HTTP请求头与响应头

    一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向客户机的响应消 息.客户端向服务器发送一个请求,请求头 ...

  8. HTTP请求头与响应头(转载)

    欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/400503 ...

  9. HTTP请求行、请求头、请求体详解

    HTTP 请求头各参数具体含义 Header 解释 示例Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/htmlAccept-Charset 浏览器可以接 ...

随机推荐

  1. Axure 8 Tab制作

    1 在[页面]面板中选中[page1] 2 在[元件库]中选中[动态面板],并拖拽到[设计区域]中 3 双[设计区域]中的动态面板,打开[动态面板管理]页面 4 在[动态面板管理]页面中输入动态面板的 ...

  2. DP上课覆盖知识点,POJ(1513)

    题目链接:http://poj.org/problem?id=1513 解题报告: 思路: 知识点从第二个开始扫,递推表达式是:minlec[i]=min(minlec[k])+1,并且要保证,tim ...

  3. setTimeout详解

    一.setTimeout基础 setTimeout(func|code,delay); 第一个参数表示将要推迟的函数名或者一段代码,第二个参数表示推迟执行的毫秒数   eg: console.log( ...

  4. 使用node.js + socket.io + redis实现基本的聊天室场景

    在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用nodejs来实现该机制. 本文是对 ...

  5. 2017.10.24 Java 详解 JVM 工作原理和流程

    JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界 ...

  6. 由fastRPC产生的DB服务

    根据整理的RPC模型,在此上,根据最近的项目,发布了DB服务,操作数据库.以RPC模型,发布数据库的操作服务,主要发送SQL语句,在服务端执行:同时引入了流行的数据库连接池:服务端还发布了文件接收服务 ...

  7. BZOJ1046: [HAOI2007]上升序列(LIS)

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 5740  Solved: 2025[Submit][Status][Discuss] Descript ...

  8. 基于mybatis设计简单信息管理系统1

    驼峰式命名法 骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始:第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirs ...

  9. egg- 配置

    1. model module.exports = app => { const { INTEGER, STRING, TEXT } = app.Sequelize; const User = ...

  10. (转)在图像处理中,散度 div 具体的作用是什么?

    出处http://www.zhihu.com/question/24591127 按:今天看到这篇文章,有点感慨,散度这个概念我初次接触到至少应该是在1998年,时隔这么多年后看到这篇文章,真的 佩服 ...