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. 网络安全-使用HTTP动词篡改的认证旁路

    这个东西去年的安全扫描都没有,今天就扫出来了,非常奇怪的一个东西.好吧,找资料找原因.结果可能应为搜索名词的原因,这个问题在群友的帮助下解决了. 在我理解中servlet只有post和get方法,然后 ...

  2. React - React Developer Tools开发者工具的安装与使用(Chrome调试插件)

    原文地址:http://www.cnplugins.com/zhuanti/how-to-use-react-tools.html 虽然我们曾经在React开发者工具的基础介绍里面有概括性的介绍过Re ...

  3. 记账本app(一)

    计划开发一款小程序应用,主要来记录自己的财务账目. 通过使用SpringBoot开发后端应用,提供接口,对应前端使用微信小程序来实现. 功能模块(用户信息,账本.账目列表,新增一笔账,修改一笔账,删除 ...

  4. 【Leetcode】【Medium】Unique Binary Search Trees

    Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...

  5. xml布局显示需要预判断,可是还没有show出来,怎么办?

    最近在实际工作中遇到了一种情况,写一个音量条,音量条显示出来之前要判断系统的音量大小,然后给音量条设置显示的位置.解决办法有两种, 第一种:    m_pHostThread>MsgAsyncC ...

  6. selenium 截图加上时间戳

    思路: 1  新建screenshot文件夹,不存在则创建该目录 2  在screenshot文件夹下新建当日日期文件夹,比如20190110:不存在则创建该目录 3  截图保存到当日文件夹,且截图文 ...

  7. angular里forRoot的作用

    模块A是这样定义的 @NgModule({ providers: [AService], declarations: [ TitleComponent ], exports: [ TitleCompo ...

  8. 浅谈jquery之on()绑定事件和off()解除绑定事件

    off()函数用于移除元素上绑定的一个或多个事件的事件处理函数. off()函数主要用于解除由on()函数绑定的事件处理函数. 该函数属于jQuery对象(实例). 语法 jQuery 1.7 新增该 ...

  9. redis 哈希数据类型简单操作(实现购物车案例)

    这里不累赘如何安装redis和php  redis扩展,主要熟悉调用redis哈希数据类型 简单方法操作如下 1:hSet 2:hGet 4:hDel 5:hGetAll 4:hExists 5:hI ...

  10. 关于Git学习推荐

    Git学习除了推荐官方网站:https://git-scm.com/之外, 我个人比较推荐初学者或者被动使用者可以学习参考廖雪峰的这个教程:https://www.liaoxuefeng.com/wi ...