请求首部字段

请求首部字段是从客户端往服务器端发送请求报文中所使用的字段,用于补充请求的附加信息、客户端信息,对响应内容相关的优先级等内容

1)Accept

通知服务器,用户代理能够处理的媒体类型及媒体类型的相对优先级。可使用type/subtype这种形式,一次指定多种媒体类型。

Accept:text/plain;q=0.3,text/html

q表示权重,默认值为1.0(1为最大值),当服务器提供多种内容时,优先返回权重最高的媒体类型

2)Accept-Charset

通知服务器,用户代理支持的字符集及字符集的优先顺序。另外,可一次性指定多种字符集。

Accept-Charset:iso-8859-5,unicode-1-1;q=0.8

同样q表示权重

3)Accept-Encoding

用来告知服务器,用户代理支持的内容编码及内容编码的优先顺序。可一次性指定多种内容编码。

Accept-Encoding:gzip,deflate

常用的内容编码:

gzip:由文件压缩程序gzip生成的编码格式

compress:由UNIX文件压缩程序compress生成的编码方式

deflate:组合使用zlib格式及由deflate压缩算法生成的编码格式

identity:不执行压缩或不会变化的默认编码格式

4)Accept-Languag

用来告知服务器,用户代理能够处理的自然语言集(中文或英文等),及自然语言集的相对顺序。可一次指定多种自然语言集

Accept-Language:zh-cn,zh;q=0.7,en-us,en;q=0.3

5)Authorization

告知服务器,用户代理的认证信息(证书值)

通常,想要通过服务器认证的用户代理会在接收到返回的401状态码响应后,把首部字段Authorization加入请求中。共用缓存在接收到含有Authorization手部字段的请求时操作处理会有所差异。

6)Expect

告知服务器,期待出现的某种特定行为。

因服务器无法理解客户端的期望作用回应而发生错误时,会返回状态码417,客户端可利用该首部字段,写明所期望的拓展

Expect:100-continue

7)From

告知服务器使用用户代理的用户电子邮箱

目的是用了显示搜索引擎等用户代理的负责人的电子邮箱联系方式

From:kael_xu@163.com

8)Host

告知服务器,请求的资源所在互联网主机名称和端口号

Host:www.baidu.com

Host手部字段在HTTP/1.1规范内是唯一一个必须被包含在请求内的首部字段

如服务器未设定主机名,则直接发送一个空值即可

9)If-match

格式为If-xxx这样的请求首部字段,都可称为条件请求。服务器接收到附带条件的请求后,只有判断指定条件为真时,才会执行请求。

If-Match:"123456"

该字段告诉服务器匹配资源所用的实体标记(Etag)值。这时无法使用弱Etag值

服务器会对比If-Match的值和字眼的Etag值,当两者一致,才会执行请求。反之,则返回412状态码的响应。

使用星号(*)指定If-Match的值,服务器会忽略Etag值,只要资源存在就处理请求。

10)If-Modified-Since

用来确认代理或客户端拥有的本地资源有效性

告知服务器若If-Modified-Since字段值早与资源的更新时间,处理该请求,如果在该日期时间后,资源多未更新过,则返回状态码304的响应

If-Modified-Since:Thu,15 Apr 2018 00:00:00 GMT

11)If-None-Match

If-None-Match:“123456”

与If-Match相反,在If-None-Match的字段值与资源的Etag值不一致时,处理请求。

一般在GET或HEAD方法中使用,获取最新的资源。

12)If-Range

告知服务器若指定的If-Range字段值(Etag或者时间)和请求资源的Etag值或时间一直,则作为范围请求处理,反之,则返回全体资源

13)If-Unmodified-Since

与If-Modeified-Since相反,告知服务器,指定的请求只有在字段值内的指定日期时间之后,未发生更新的情况下,才能处理请求,反之,则返回412状态码的响应。

If-Unmodified-Since:Thu,03 Jul 2018 00:00:00 GMT

14)Max-Forwards

Max-Forwards:10

使用HTTP协议通信时,请求可能会经过多台代理机器。如果途中代理服务器由于某些原因导致请求转发失败。客户端也就等不到服务器返回的响应。使用Max-Forwars字段,每次转发都会将值减1,到0时直接把响应返回给客户端

15)Proxy-Authorization

Proxy-Authorization:Basic DGlwOjkpNLAGfFY5

收到代理服务器发来的认证咨询时,客户端会发送包含首部字段Proxuy-Authorization的请求,以告知服务器认证所需要的信息。

16)Range

Range:btyes=50001-10000

对于只需部分资源的范围请求,使用该字段告知服务器资源的指定范围。

成功处理请求则返回206状态码响应。无法处理该范围请求,则返回200状态码及全部资源

17)Referer

告知服务器请求的原始资源的URI

18)TE

TE:gzip,deflate;q=05

告知服务器,客户端能够处理的传输编码方式及相对优先级

还可指定伴随trailer字段的分块传输编码方式。只需把trailers赋值给该字段值。

TE:trailers

19)User-Agent

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36

将创建请求的浏览器和用户代理名称等信息传达给服务器

HTTP协议08-请求首部字段的更多相关文章

  1. http协议(八)请求首部字段

    请求首部字段 定义:请求首部字段是从客户端到服务器发送请求报文中所使用的字段,里面包含了附加信息.客户端信息以及对响应内容相关的优先级等内容 1.Accept 通知服务器用户代理可处理的媒体类型及媒体 ...

  2. http协议基础(八)请求首部字段

    请求首部字段 定义:请求首部字段是从客户端到服务器发送请求报文中所使用的字段,里面包含了附加信息.客户端信息以及对响应内容相关的优先级等内容 1.Accept 通知服务器用户代理可处理的媒体类型及媒体 ...

  3. HTTP协议10-实体首部字段

    实体首部字段 实体首部字段是包含咋请求报文和响应报文中实体部分的首部,用于补充内容的更新时间等于实体相关的信息. 1)Allow Allow:GET,HEAD 用于通知客户端能够支持访问指定资源的请求 ...

  4. HTTP协议07-通用首部字段

    通用首部字段 通用首部字段是指,请求报文和响应报文双方都会使用的首部. 1)Cache-Control 通过指定首部字段Cache-Control的指令,就能操作缓存的工作机制. 指令的参数可以多选, ...

  5. HTTP协议09-响应首部字段

    响应首部字段 响应首部字段是由服务器向客户端返回响应报文中所使用的字段,用于补充响应的附加信息.服务器信息,以及对客户端的附加要求等信息. 1)Accept-Ranges Accept-Range:b ...

  6. HTTP 协议常见首部字段

    首部字段 1.HTTP协议的请求和响应报文中必定包含HTTP首部.首部内容为客户端和服务器处理请求和响应提供了所必须的信息. 2.HTTP首部字段是由首部字段名和字段值构成,中间用冒号“:”隔开.字段 ...

  7. HTTP协议图--HTTP 报文首部之首部字段(重点分析)

    1.首部字段概述 先来回顾一下首部字段在报文的位置,HTTP 报文包含报文首部和报文主体,报文首部包含请求行(或状态行)和首部字段. 在报文众多的字段当中,HTTP 首部字段包含的信息最为丰富.首部字 ...

  8. HTTP 首部字段详细介绍

    本文是HTTP解析系列第二篇,如果对http协议不是很了解,可以选去看第一篇:带新手走进神秘的HTTP协议,本文主要是对Http的首部字段进行详细解析. HTTP 协议的请求和响应报文中必定包含 HT ...

  9. HTTP全部报文首部字段

    总结了一下HTTP各种报文首部字段. HTTP报文类型与结构 HTTP报文结构 报文首部 空行(CR+LF) 报文主体 HTTP报文类型 http有两种类型报文,请求报文和响应报文两种报文的首部结构如 ...

随机推荐

  1. java高级---->Thread之ScheduledExecutorService的使用

    ScheduledExecutorService的主要作用就是可以将定时任务与线程池功能结合使用.今天我们来学习一下ScheduledExecutorService的用法.我们都太渺小了,那么容易便湮 ...

  2. FineUIPro v5.1.0 发布了!

    FineUIPro v5.1.0 已发布,这已经是自 2014 年以来的第 31 个版本,4 年来精雕细琢,只为你来! 上个大版本新增了响应式布局,而这个版本主要是BUG修正,此外还增加了树控件的级联 ...

  3. 《React Native 精解与实战》书籍连载「React Native 源码学习方法及其他资源」

    此系列文章将整合我的 React 视频教程与 React Native 书籍中的精华部分,给大家介绍 React Native 源码学习方法及其他资源. 最后的章节给大家介绍 React Native ...

  4. sass的使用

    1.声明变量-全局声明-局部声明 中划线或下划线两种用法相互兼容  $nav-color: #F90; $highlight-border: 1px solid $nav-color;  nav{ $ ...

  5. H5 百度一下,你就知道

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. webpack4

    本地安装: npm init -y cnpm install webpack webpack-cli webpack-dev-server --save-dev 然后装一些所需要的loader和插件: ...

  7. fetch和axios获取数据

    fetch("/api/goods") .then(res => { return res.json(); }) .then(response => { console ...

  8. AtCoder Beginner Contest 122 D - We Like AGC(DP)

    题目链接 思路自西瓜and大佬博客:https://www.cnblogs.com/henry-1202/p/10590327.html#_label3 数据范围小 可直接dp f[i][j][a][ ...

  9. 存储引擎和表的操作(mysql中的数据类型、完整性约束)

    一.存储引擎 .概念 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. 通过选择不同的技术 ...

  10. Vivado寄存器初始值问题

    前言 本复位只针对Vivado中的寄存器复位. 什么时候需要复位?到底要不要复位?怎么复位?复位有什么卵用? 该复位的寄存器需要复位,复位使得寄存器恢复初始值,有的寄存器并不需要复位(数据流路径上). ...