请求首部字段

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

1)Accept

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

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

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

2)Accept-Charset

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

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

同样q表示权重

3)Accept-Encoding

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

  1. Accept-Encoding:gzip,deflate

常用的内容编码:

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

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

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

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

4)Accept-Languag

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

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

5)Authorization

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

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

6)Expect

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

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

  1. Expect:100-continue

7)From

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

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

  1. From:kael_xu@163.com

8)Host

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

  1. Host:www.baidu.com

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

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

9)If-match

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

  1. If-Match:"123456"

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

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

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

10)If-Modified-Since

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

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

  1. If-Modified-Since:Thu15 Apr 2018 00:00:00 GMT

11)If-None-Match

  1. 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状态码的响应。

  1. If-Unmodified-Since:Thu03 Jul 2018 00:00:00 GMT

14)Max-Forwards

  1. Max-Forwards:10

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

15)Proxy-Authorization

  1. Proxy-AuthorizationBasic DGlwOjkpNLAGfFY5

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

16)Range

  1. Range:btyes=50001-10000

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

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

17)Referer

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

18)TE

  1. TEgzipdeflate;q=05

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

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

  1. TE:trailers

19)User-Agent

  1. 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. PySocks安装使用方法

    PySocks是一个基于Python的SOCKS代理客户端,它是SocksiPy的一个分支,修改了一些bug和增加了一些额外功能. ---------------------------------- ...

  2. Error updating database. Cause: java.sql.SQLException: Access denied for user '${username}'@'localhost' (using password: YES)

    导入别人的项目,出现一个错误,经过排查,是db.properties配置文件中的用户名与Mybatis-conf.xml配置文件中调用的用户名不一致所导致的 (db.properties中用的是nam ...

  3. win10安装ab测试工具

    1.先下载 https://www.apachehaus.com/cgi-bin/download.plx 2.存到非中文无空格的目录 3.解压,并打开配置文件:Apache24\conf\httpd ...

  4. 关于CentOS7.2 控制面板不显示输入法,或者无法调出输入的问题。(已解决)

    问题描述: CentOS7.2 桌面系统控制面板突然就不显示输入法的图标,快捷键也调不出输入法. 解决方法: test@base0200: ~ $ ibus-setup 调出ibus首选项--> ...

  5. kafka相关问题集锦

    参考地址:https://blog.csdn.net/gao23191879/article/details/80815078?utm_source=blogxgwz5 你在写java 版的 kafk ...

  6. PLSQL:orecal,tnsname简介

    导入ORACLE遇到很多问题,学了好多,其中很长时间花在网络配置上,刚开始学,具体原因不知道,先把搜集到的好文章存下来,以后慢慢研究. 监听配置文件             为了使得外部进程 如 CA ...

  7. LODOP不同打印机出现偏移问题

    方法简单描述:1.精确套打,设置以纸张边缘为基点,可避免不同可打区域不同带了的影响.2.不同客户端打印机位置差异,可通过打印维护调整,结果在客户端本地.或调整打印机初始位置(本人使用的金税盘的开票软件 ...

  8. 【XSY2988】取石子 博弈论

    题目描述 有 \(n\) 堆石子,每堆石子的个数是 \(c_i\). Alice 和 Bob 轮流取石子(先后手未定),Alice 每次从一堆中取 \(a\) 个,Bob每次从一堆中取 \(b\) 个 ...

  9. Django Cookie,Session

    Cookie Cookie的由来 HTTP协议是无状态的,每次请求都是独立的,对服务器来说,每次的请求都是全新的,上一次的访问是数 据是无法保留到下一次的 某些场景需要状态数据或者中间数据等相关对下一 ...

  10. BSGS算法

    BSGS算法 我是看着\(ppl\)的博客学的,您可以先访问\(ppl\)的博客 Part1 BSGS算法 求解关于\(x\)的方程 \[y^x=z(mod\ p)\] 其中\((y,p)=1\) 做 ...