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>
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:在此日期/时间之后,响应过期,如cookie过期。
无效的日期,比如 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
Cache-Control: max-age=<seconds>
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
HTTP请求头和响应头相关推荐
- php获取curl头_php中CURL请求头和响应头获取方法
本文主要和大家分享php中CURL请求头和响应头获取方法,希望能帮助到大家. 1.从CURL中获取响应头$oCurl = curl_init(); // 设置请求头, 有时候需要,有时候不用,看请求网 ...
- 常用的HTTP请求头与响应头
转载自:https://blog.csdn.net/qq_30553235/article/details/79282113 常用的HTTP请求头与响应头 HTTP消息头是指,在超文本传输协议( Hy ...
- Android系列之网络(二)----HTTP请求头与响应头
一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发送一个请求,请求头包 ...
- Request Headers 和Response Headers——请求头和响应头
前沿 作为一个前端开发工程师看不懂每条请求的请求头和响应头,实在是一件很难受的事情.最近花了一些时间整理了一篇文档,一起来看看前后端交互时每个资源的信息. 谷歌浏览器调试工具--查看请求资源的信息数据 ...
- ajax前后端通信的头部消息之请求头与响应头
前后端在通信时,互相发送的消息包括头部消息和主体数据,而头部消息分为请求头和响应头两种. 请求头是前端发送,服务端获取. 响应头是服务端发送,前端获取. 设置请求头的规则: 请求头设置必须在open方 ...
- Chorme 浏览器查看请求头、响应头
第一步:打开浏览器,按键盘上的F12,出现如下界面: 第二步:点击 Network, 点击 docs . 第三步:地址栏输入baidu.com,按回车. 第四步:会看到这里出现一个地址. 第五步:点击 ...
- HTTP请求头与响应头
本篇文章中,将学习一下HTTP请求头与响应头的知识. 一.HTTP头引入: 正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度.通常HTTP消息包括:客户机向服务器的请求消息和服务器向 ...
- 【原创】Selenium获取请求头、响应头
本文仅供学习交流使用,如侵立删! Selenium获取请求头.响应头 操作环境 win10 . mac Python3.9 selenium.seleniumwire selenium是没有办法直接获 ...
- 谷歌浏览器查看HTTP请求头与响应头
用谷歌浏览器打开某个网页后,右击鼠标,选择[检查], 然后点击[network],再刷新一下(刷新的时候才会捕捉HTTP请求头.响应头给你看), 刷新之后,点击左边[name](其实是请求的网址)下面 ...
- 浏览器开发工具请求头与响应头属性介绍
HTTP 协议的 Header 是一块数据区域,分为请求头和响应头两种类型,客户端向服务区发送请求时带的是请求头,而服务器响应客户端数据时带的是响应头. 请求头里主要是客户端的一些基础信息,UA(us ...
最新文章
- GCJ 2009 Round1C C Bribe the Prisoners
- 拦截导弹 (加了神奇的位运算)
- 记录因xen而导致lvs,realserver转发activeconn为0
- 函数的多态性以及虚函数
- payara 创建 集群_使用Payara Micro的Easy Java EE Microservices
- codeforces 536a//Tavas and Karafs// Codeforces Round #299(Div. 1)
- shell中的大括号和小括号
- php 对象转数组_PHP的垃圾回收机制-PHP高级面试题+详解
- 第二部分 python基础 day10\11\12 运算符与基本数据类型
- SOA安全性解决方案
- 计算机操作系统——进程调度算法
- 样条曲线(spline)
- 最小生成树 刘汝佳模板
- h5学习笔记 左右布局
- nstrFetchProhibited,stack overflow,Task watchdog got triggered解决办法
- 几何分布及其期望计算
- 北京大学计算机社团,北京大学爱心社团
- vs2015 x86的Qt项目迁移到vs2017 x64平台
- 东财《人力资源管理X》综合作业
- 药物设计linux推荐,【经验交流】药物设计与研发专业平台系统之Discovery Studio 3.0(win)、Discovery Studio 3.5(linux)...
热门文章
- Modelsim编译Vivado仿真库报错(vlog-12110)
- lazyload.css,图片加载优化及图片lazyload自适应 - 轩枫阁
- Elasticsearch DSL 查询详解
- C++怎么判断windows系统是64位还是32位
- codevs 3716 生活大爆炸版石头剪刀布
- 网卡工作在OSI的第几层?[转]
- 城市魅力排行榜丨这座城市竟然超越北上广!
- 赵国鑫 java_花还有重开日吗?32 岁的罗斯又被廉价交易
- 想象中的保研VS实际上的保研!
- 数据库mysql加密存储_数据库数据加密存储框架四种途径