fiddler请求报文的headers属性详解
fiddler请求报文的headers属性详解
headers的属性包含以下几部分。
(1)Cache头域
在Cache头域中,通常会出现以下属性。
1. Cache-Control
用来指定Response-Request遵循的缓存机制。各个指令如下含义。
- Cache-Control:Public:可以被任何缓存所缓存。
- Cache-Control:Private:指示响应信息的全部或部分用于单个用户,而不能用一个共享缓存来缓存。这可以让源服务器指示,响应的特定部分只用于一个用户,而对其他用户的请求则是一个不可靠的响应。
- Cache-Control:no-cache:所有的内容都不会被缓存,请求头里的no-cache表示浏览器不想读缓存,并不是说没有缓存。一般在浏览器按Ctrl+F5键强制刷新时,请求头里也会有这个no-cache,也就是跳过强缓存和协商缓存阶段,直接请求服务器。
- Cache-Control:max-age=0:指示客户端愿意接收其绝对时间不大于指定的时间,以秒计。如果直接按F5键的话,请求头是max-age=0,只跳过强缓存,但进行协商缓存。
2. If-Modified-Since
- 把浏览器端缓存页面的最后修改时间发送到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行对比。如果时间一致,那么会返回304,客户端就直接使用本地缓存文件。如果时间不一致,就会返回200和新的文件内容。客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示在浏览器中。
本地文件的修改时间和服务器上的文件时间修改时间一致,说明文件没有被更新。HTTP服务器返回304,告诉客户端使用本地缓存文件
3. If-None-Match
- If-None-Match和ETag一起工作,工作原理是在HTTPresponse中添加ETag信息。当用户再次请求该资源时,将在HTTP request中假如 If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回200状态和新的资源和ETag。使用这样的机制将提高网站的性能
** If-None-Match和ETag的值一致,说明文件没有被更新。服务器将返回304,告诉客户端使用本地缓存文件**
4. Pragma
- 防止页面被缓存,在HTTP/1.1版本中,它和Cache-Control:no-cache的作用一模一样。
Prama只有一个用法,例如,Pragma:no-cache。
(2)Client头域
1. Accept
浏览器端可以接收的媒体类型。
Accept: text/html
代表浏览器可以接收服务器发回的类型为text/html也就是我们常说的HTML文档,如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)。Accept: */ *
通配符 * 代表任意类型。代表浏览器可以处理所有类型Accept-Encoding
浏览器声明自己接收的语言。语言跟字符集的区别是:中文是语言,中文有多种字符集,如何big5、gb2312、gbk等
2. User-Agent
- 告诉HTTP服务器客户端使用的操作系统和浏览器的名称和版本。我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名字和版本、你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到的这些信息。User-Agent请求报头域允许客户端将它的操作系统、浏览器和其他属性告诉服务器。
3. Accept-Charset
- 浏览器声明自己接收的字符集,如gb2312、utg-8等。
(3) Cookie头域
- Cookie
最重要的header,将Cookie的值发送给HTTP服务器。
(4) Miscellaneous头域
- Referer
- 提供了request的上下文信息的服务器,告诉服务器我是从哪个链接过来的。有些统计数据需要用到此头域。比如从我的主页上链接到统计服务器那里,该服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
(5) Entity头域
1. Content-Length
- 发送给HTTP服务器数据的长度。
2. Content-Type
- 表示具体请求中的媒体类型信息。
常见的媒体格式类型如下。 - text/html: HTML格式
- text/plain: 纯文本格式
- text/xml: XML格式
- image/gif: gif图片格式
- image/jpeg: jpg图片格式
- image/png: png图片格式
以application开头的媒体格式类型如下 - application/xhtml+xml: XHTML格式
- application/xml: XML数据格式
- application/atom+xml: Atom XML聚合格式
- application/json: JSON数据格式
- application/pdf: pdf格式
- application/msword: Word文档格式
- application/octet-stream: 二进制流数据
- application/x-www-form-urlencoded: <form encType="">中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)。
3. multipart/form-data
- 另外一种常见的媒体格式是上传文件之时使用的。
- 需要在表单中进行文件上传时,就需要使用该格式。
(6)Tranport头域
Connection
- Connection: keep-alive: 当一个网页打开完成后,客户端和服务器之间用户传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。
- Connection: close: 代表一个request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭,当客户端再次发送request时,需要重新建立TCP连接。
Host(发送请求时,该报头域是必须的) - 请求报头域主要用于指定被请求资源的Internet主机和端口号。它通常从HTTP URL中提取出来。
fiddler请求报文的headers属性详解的更多相关文章
- fiddler响应报文的headers属性详解
fiddler响应报文的headers属性详解 (1)Cache头域 1. Cache-Control 在请求报文已经说过了,用于设置缓存的属性,浏览内容不被缓存. 2. Data 生成消息的具体时间 ...
- Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...
- OutputCache属性详解(一)一Duration、VaryByParam
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- Flask request 属性详解
Flask request 属性详解 一.关于request在Flask的官方文档中是这样介绍request的:对于 Web 应用,与客户端发送给服务器的数据交互至关重要.在 Flask 中由全局的 ...
- OutputCache属性详解(二)一 Location
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(三)— VaryByHeader,VaryByCustom
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(四)— SqlDependency
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- HTML video 视频标签全属性详解
HTML 5 video 视频标签全属性详解 现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.C ...
- Linux文件权限与属性详解 之 su & sudo
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
随机推荐
- 「资料/转载」HTML标签英文单词对照表
<!--> / 注释 <!DOCTYPE> document type 文档类型 <a> anchor 超链接 <abbr> abbreviation ...
- Jenkins的job执行arquilian test时总是报JBoss启动失败错误
我的Jenkins环境是一个Master+一个slave,Job的执行主要由slave来进行.Master只负责调度. slave上安装有JDK7.JDK8.slave agent用的是java we ...
- February 18 2017 Week 7 Saturday
It is not easy to meet each other in such a big world. 世界这么大,能遇见不容易. Sometimes we choose to trust in ...
- linux-记录
查看运行的进程 ps -aux|grep java 找到要删除的进程的编号 杀死进程 kill -9 1883(进程编号) 重启服务 sh satrtBussinessService.sh
- (转)C++ 自由存储区是否等价于堆?
“free store” VS “heap” 当我问你C++的内存布局时,你大概会回答: “在C++中,内存区分为5个区,分别是堆.栈.自由存储区.全局/静态存储区.常量存储区”. 如果我接着问你 ...
- js实现抛物线运动 兼容IE低版本(转)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Java虚拟机3:内存溢出
1.前言 上一篇我们介绍了java的内存区域结构,这一篇,模拟内存溢出的几个场景,下面一个图是总体的指导思想: 2.Java堆溢出 Java堆唯一的作用就是存储对象实例,只要保证不断创建对象并且对象不 ...
- 【[HNOI2004]L语言】
\(Trie\)树+\(DP\) 我们只需要做一个存在性dp就好了 对于每一个字符串,我们设\(f[i]\)表示从\(1\)到\(i\)位是否能被完全匹配 首先\(f[0]=1\),之后我们对于每一个 ...
- ZOJ Monthly, January 2019 Little Sub and Isomorphism Sequences 【离线离散化 + set + multiset】
传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5868 Little Sub and Isomorphism Seque ...
- [19/04/02-星期二] IO技术_字符流分类总结(含字符转换流InputStreamReader/ OutputStreamWriter,实现字节转字符)
一.概念 ------->1.BufferedReader/BufferedWriter [参考19.03.31文章] *Reader/Writer-------->2.InputStre ...