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属性详解的更多相关文章

  1. fiddler响应报文的headers属性详解

    fiddler响应报文的headers属性详解 (1)Cache头域 1. Cache-Control 在请求报文已经说过了,用于设置缓存的属性,浏览内容不被缓存. 2. Data 生成消息的具体时间 ...

  2. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  3. OutputCache属性详解(一)一Duration、VaryByParam

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  4. Flask request 属性详解

    Flask request 属性详解 一.关于request在Flask的官方文档中是这样介绍request的:对于 Web 应用,与客户端发送给服务器的数据交互至关重要.在 Flask 中由全局的 ...

  5. OutputCache属性详解(二)一 Location

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  6. OutputCache属性详解(三)— VaryByHeader,VaryByCustom

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  7. OutputCache属性详解(四)— SqlDependency

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  8. HTML video 视频标签全属性详解

    HTML 5 video 视频标签全属性详解   现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.C ...

  9. Linux文件权限与属性详解 之 su & sudo

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

随机推荐

  1. Web API 2 入门——创建ASP.NET Web API的帮助页面(谷歌翻译)

    在这篇文章中 创建API帮助页面 将帮助页面添加到现有项目 添加API文档 在敞篷下 下一步 作者:Mike Wasson 创建Web API时,创建帮助页面通常很有用,以便其他开发人员知道如何调用A ...

  2. 这么多小程序,会微信小程序就够了

    随着小程序的普及以及小程序体验的逐步升级,现在小程序的地位已经凸现出来.各大平台纷纷推出自己的小程序平台. 最早的是微信小程序,支付宝小程序,快应用,百度小程序去年上来,18年底头条程序也发布. 那么 ...

  3. Docker_3 数据卷

    数据卷 数据卷容器 参考连接 在Docker容器管理数据有两种方式 数据卷(Data Volumes) 数据卷容器(Data Volume Containers) 数据卷 这种方式在创建容器的时候将本 ...

  4. 贴现力 (force of discount)

    一.定义 用贴现函数a-1(t) 代替累积函数,在 t 时刻的贴现力为 增加一个负号使得贴现力为正. 二.重要的公式

  5. WSDM 2014推荐系统论文

    Xiao Yu, Hao Ma, Paul Hsu, Jiawei Han On Building Entity Recommender Systems Using User Click Log an ...

  6. navicat远程连接mysql,2003 can't connect to mysql server on 10038

    转载地址:https://blog.csdn.net/f12105212/article/details/70768516 1:我们连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口 ...

  7. 使用Swagger处理Api的显示与隐藏

    一.在SwaggerConfig.cs中配置如下: c.DocumentFilter<ShowApiFilter>(); c.DocumentFilter<HideApiFilter ...

  8. bootstrap table footerFormatter用法 统计列求和 sum、average等

    其实上一篇blog里已经贴了代码,简单解释一下吧: 1.showFooter: true,很重要,设置footer显示: $(cur_table).bootstrapTable({ url: '/et ...

  9. php开发规范-psr系列规范

    转自:http://www.cnblogs.com/x3d/p/php-psr-standards.html PSR 是PHP Standard Recommendation的简写,它其实应该叫PSR ...

  10. 由.def文件生成lib文件[转]

    最近在学习curl库时,碰到一个问题,从官网上下载了一个lib版的,却发现只有.dll,没有lib文件,感觉很奇怪,google了之后才知道,原来库作者的用意是让用户自己生成lib文件,下载到的lib ...