IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> HTTP请求头和响应头 -> 正文阅读

[系统运维]HTTP请求头和响应头

请求头

Accept:浏览器可接受的MIME类型。

就是希望服务器返回什么类型的数据,比如application/json,text/html,image/png,*/*

Accept:application/json, text/javascript, */*; q=0.01

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

Accept-Charset:浏览器可接受的字符集。

Accept-Charset: utf-8, iso-8859-1;q=0.5, *;q=0.1

Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。?

Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1

?Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。

Accept-Language: zh-CN,zh;q=0.9

Access-Control-Request-Headers :出现于 preflight request (预检请求)中,用于通知服务器在真正的请求中会采用哪些请求头。

Access-Control-Request-Headers: X-PINGOTHER, Content-Type?

?Access-Control-Request-Method :出现于 preflight request (预检请求)中,用于通知服务器在真正的请求中会采用哪种 ?HTTP 方法。因为预检请求所使用的方法总是 OPTIONS ,与实际请求所使用的方法不一样,所以这个请求头是必要的。

Access-Control-Request-Method: POST?

Authorization:授权信息,通常会在服务器返回401 Unauthorized 状态码以及WWW-Authenticate 消息头之后在后续请求中发送此消息头。

Authorization: <type> <credentials>

A sequence diagram illustrating HTTP messages between a client and a server lifeline.

Cookie:这是最重要的请求头信息之一

Cookie: name=value; name2=value2; name3=value3?

From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。?

From: webmaster@example.org

Host:指明了请求将要发送到的服务器主机名和端口号。如果没有包含端口号,会自动使用被请求服务的默认端口(比如HTTPS URL使用443端口,HTTP URL使用80端口)。

Host: www.baidu.com

If-Match:这是一个条件请求首部。在请求方法为 GET 和 HEAD 的情况下,服务器仅在请求的资源的 ETag值和If-Match的值一致时才会返回资源。否则返回412 Precondition Failed(先决条件失败)。而对于 PUT 或其他非安全方法来说,只有在满足条件的情况下才可以将资源上传。

If-Match: "bfc13a64729c4290ef5b2c2730249c88ca92d82d"

If-None-Match:这是一个条件式请求首部。对于 GET 和 HEAD 请求方法来说,当且仅当服务器上没有任何资源的 ETag 属性值与If-None-Match的值一致的时候,服务器端才会返回所请求的资源,响应码为 200 。对于其他方法来说,也是没有值一致的时候,才会对请求进行相应的处理。

If-None-Match: "bfc13a64729c4290ef5b2c2730249c88ca92d82d"?

If-Modified-Since:只有当所请求的内容在If-Modified-Since指定的日期之后又经过修改,才返回它(200状态码),否则返回304“Not Modified”应答。

If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT

If-Unmodified-Since:条件式请求首部。只有当资源在指定的时间之后没有进行过修改的情况下,服务器才会返回请求的资源,或是接受 POST 或其他 non-safe 方法的请求。如果所请求的资源在指定的时间之后发生了修改,那么会返回 412 (Precondition Failed) 错误。

例如在某些wiki应用中的做法:假如在原始副本获取之后,服务器上所存储的文档已经被修改,那么对其作出的编辑会被拒绝提交

If-Unmodified-Since: Wed, 21 Oct 2015 07:28:00 GMT

Origin:指示了请求来自于哪个站点。该字段仅指示服务器名称,并不包含任何路径信息。

Origin: https://developer.mozilla.org?

Referer:当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。?

Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript


响应头

?Access-Control-Allow-Credentials: 响应头表示是否可以将对请求的响应暴露给页面。返回true则可以,其他值均不可以。

Access-Control-Allow-Credentials: true

Access-Control-Allow-Headers :用于 preflight request (预检请求 OPTIONS请求)中,列出了将会在正式请求的 Access-Control-Request-Headers 字段中出现的首部信息。?

Access-Control-Allow-Headers: X-Custom-Header, Upgrade-Insecure-Requests

Access-Control-Allow-Methods: 在对 preflight request(预检请求)的应答中明确了客户端所要访问的资源允许使用的方法或方法列表。?

Access-Control-Allow-Methods: POST, GET, OPTIONS

Access-Control-Allow-Origin: 指定了该响应的资源是否被允许与给定的origin共享。

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: https://developer.mozilla.org

Access-Control-Max-Age :表示 preflight request ?(预检请求)的返回结果(即 Access-Control-Allow-Methods 和Access-Control-Allow-Headers 提供的信息) 可以被缓存多久(单位秒)。

Access-Control-Max-Age: 600??

Clear-Site-Data:表示清除当前请求网站有关的浏览器数据(cookie,存储,缓存)。它让Web开发人员对浏览器本地存储的数据有更多控制能力。

// 登出时清除所有本地存储诗句

Clear-Site-Data: "cache", "cookies", "storage", "executionContexts"?

ETag:资源的特定版本的标识符。比较ETag能快速确定此资源是否变化,这可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web服务器不需要发送完整的响应

ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"?

Expires:在此日期/时间之后,响应过期。
无效的日期,比如 0, 代表着过去的日期,即该资源已经过期。
如果在Cache-Control响应头设置了 "max-age" 或者 "s-max-age" 指令,那么 Expires 头会被忽略。?

Expires: Wed, 21 Oct 2015 07:28:00 GMT

Set-Cookie:服务器端设置客户端的?cookie。

Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly


通用首部

?Cache-Control :通用消息头字段,被用于在http请求和响应中,通过指定指令来实现缓存机制。缓存指令是单向的,这意味着在请求中设置的指令,不一定被包含在响应中。

Cache-control: no-cache

Connection:表示是否需要持久连接。如果该值是“keep-alive”,网络连接就是持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成。

Connection: keep-alive
Connection: close

Keep-Alive:允许消息发送者暗示连接的状态,还可以用来设置超时时长和最大请求数。需要将 The Connection 首部的值设置为 ?"keep-alive" 这个首部才有意义

// timeout:指定了一个空闲连接需要保持打开状态的最小时长(以秒为单位)

// max:在连接关闭之前,在此连接可以发送的请求的最大值

Keep-Alive: timeout=5, max=1000?

Date :包含了报文创建的日期和时间。

Date: Wed, 21 Oct 2015 07:28:00 GMT?

Last-Modified:服务器认定的资源做出修改的日期及时间。 它通常被用作一个验证器来判断接收到的或者存储的资源是否彼此一致。

Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

Location:页面重定向的地址。一般在响应码为3xx的响应中才会有意义。

?Location: /index.html


实体报头

Content-Encoding:用于对特定媒体类型的数据进行压缩

Content-Encoding: gzip

Content-Language :用来说明访问者希望采用的语言或语言组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容。

Content-Language: de-DE, en-CA

Content-Length:指明发送给接收方的消息主体的大小,即用十进制数字表示的八位元组的数目。

Content-Length: <length>

Content-Type:用于指示资源的MIME类型 。

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


?参考:HTTP Headers - HTTP | MDN

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 13:16:28  更:2021-12-13 13:17:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:34:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码