http请求报文和响应报文之常见请求头及其作用

一、HTTP的Request/Response

先看Request消息(客户端发送)的结构, Request 消息分为3部分
第一部分叫请求行(Request line), 第二部分叫请求头(Request header),第三部分是报文主体(body). header和body之间有个空行。

请求行 = 请求方法 + 请求URI + HTTP版本号

在这里插入图片描述
再看Response消息(服务器端发送)的结构,Response消息分为3部分
第一部分叫状态行,第二部分叫响应头,第三部分是响应主体,header和body之间有个空行。

状态行 = HTTP版本号 + 状态码 + 原因短语

当使用的是GET 方法的时候, body是为空的。
比如如下图
我们打开Fiddler 捕捉一个网页的Request 然后分析下它的结构, 在Inspectors tab下以Raw的方式可以看到完整的Request的消息
在这里插入图片描述

二、HTTP首部

一般有4种首部,分别是通用首部、请求首部、响应首部和实体首部。

1. 通用首部字段

Cache-Control

作用:
这个是非常重要的规则,用于控制缓存的行为。 这个用来指定Response-Request遵循的缓存机制。各个指令含义如下

Cache-Control:max-age=10
强缓存,单位秒

Cache-Control:public 可以被任何对象所缓存(包括:发送请求的客户端,代理服务器,等等),即使是通常不可缓存的内容(例如,该响应没有max-age指令或Expires消息头)

Cache-Control:private
内容只缓存到私有缓存中

Cache-Control:no-cache
使用协商缓存,同 max-age=0

Cache-Control:no-store
直接禁止浏览器缓存数据,每次用户请求该资源,都会向服务器发送一个请求,每次都会下载完整的资源,可用于关闭缓存。

Connection

例如:Connection:keep-alive当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。
例如: Connection: close 代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接。

Date

作用: 生成消息的具体时间和日期
例如:Date: Sat, 11 Feb 2012 11:35:14 GMT

Pragma

作用:防止页面被缓存,在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一样
Pargma只有一个用法, 例如: Pragma: no-cache

T
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值