http首部

1. htttp 报文首部

报文结构为:首部 空行(CR+LF)主体

在请求中 http报文首部由请求方法,URI,http版本,首部字段等构成

在响应中:状态码,http版本,首部字段3部分构成

2. http 首部字段

给浏览器和服务器提供报文主体大小,所使用语言,认证信息等

字段结构 为 首部字段名:字段值 例如 content-Type:text/html

3. http/1.1 通用首部字段

请求报文和响应报文都会使用的首部

  • 首部字段cache-control 指令,操作缓存工作机制,可用于请求和响应

cache-control: private ,max-age=0,no-cache,

private : 缓存服务器会对该特定用户提供资源缓存的服务
public:表示其他用户也可以利用缓存
no-cache: 客户端请求使用no-cache表示客户端将不接收缓存响应,缓存服务器必须把请求转发给源服务器;从服务器端响应中包含no-cache表示 缓存服务器将不能对资源进行缓存,,源服务器也不在对缓存服务器请求中提出的资源有效性进行确认 。

no-store: 请求或者响应的任一部分都不缓存在本地存储

max-age: 请求中包含的话表示 缓存资源的缓存时间比指定时间数值更小,则客户端就接收缓存资源,值为0时说明需要将缓存服务器转发给源服务器;响应中包含max-age;时,表示缓存服务器不对该时间内资源的有效性再作确认,值则表示资源保存为缓存的最长时间。

only-if-cached指令 从缓存获取资源

connection : keep-alive close ,在http/1.1版本默认连接时持久连接,之前版本则是非持久连接,所有老版本要用keep-alive值,close 表示断开连接

pargma:no-cache 只用在客户端请求中,表示要求中间服务器不返回缓存的资源。

4. 请求首部字段

从客户端发往服务器端发送请求 报文中所使用的字段

  • Accept :text/html application/xhtml+xml, 通知服务器 自己需要的资源格式(可以是多种格式),以及格式的优先级(q= ,权重,0到1之间,1为最大值和默认值,)
  • Accept-Charset : unicode-1-1; q=0.8 ,通知服务器 希望接收客户端所支持的字符集,以及字符集的优先级,
  • Accept-Encoding: gzip 通知服务器 用户代理所支持的内容编码
  • Accept-Language: 用户代理所支持的语言集
  • Authorization 用户代理的认证信息,(与状态码401有关)
  • Expect 期望某种特定的行为(与状态码417有关)

Host (必要字段):告知服务器请求的资源所处的互联网主机名和端口号

等等

5. 响应首部字段

由服务器端向客户端返回响应报文中所使用的字段

Accept-Ranges :bytes 或者none, 告知客户端服务器是否能处理范围请求

Age: 告知客户端,源服务器在多久之前创建了响应。值单位为秒。

Location : 与重定向URI 相关,与状态码(3XX)相关

Aetry-After: 告知客户端在多久之后重试再次发送请求

Serve :告知客户端服务器上安装的http 服务器应用程序的信息

Vary : 对缓存进行控制,源服务器会向代理服务器传达关于本地缓存使用方法的命令,仅仅对请求中含有相同vary 指定首部字段的请求返回缓存。

6. 实体首部字段

请求和响应 实体content所使用的首部字段

  • Content-Type: 资源类型

7. 为cookie 服务的首部字段

cookie 工作机制用户识别以及状态管理,web网站为了管理用户状态,会通过web浏览器,把一些数据l临时写入调用用户的计算机内,接着当用户访问该web网站时,可通过通信方式取回之前发放的Cookie。由于可校验cookie 有效期以及发送方的域,路径,协议等信息,所以正规发布的Cookie内的数据不会因来自其他web站点和攻击者的攻击而泄漏。

expires =Date Cookie 有效期

path=PATH 将服务器上的文件目录作为cookie 的使用对象

domain 作为cookie 适用对象的域名

Secure 仅在https 安全通信时才发送cookie

HttpOnly 加以限制,使Cookie 不能被js脚本访问

8. 其他首部字段

  • X-Frame-option: 属于响应首部,用于控制网站内容在其他Web 网站的Frame标签内显示的问题 DENY (拒绝); SAMEORIGIN : 仅在同源域名下的页面匹配上许可,也就是说可以放在frame标签内显示。

DNT 属于请求首部 拒绝个人信息被收集 0 :同意被追踪,1 : 拒绝被追踪

P3P 响应首部 ,保护用户隐私

相关推荐
新时代牛马2 小时前
嵌入式网络完整篇:从LwIP/以太网驱动到 Linux netdev 与排障
linux·网络·php
发光小北2 小时前
西门子 PLC 串口转网口模块现场应用有哪些问题?
网络协议
上海云盾-小余3 小时前
BGP 高防底层原理:TCP 异常流量识别与清洗机制
运维·网络·tcp/ip
captain3763 小时前
▲网络原理(2)-TCP
java·服务器·网络·tcp/ip·java-ee
同元软控3 小时前
从排队、碰撞到信号波形:基于Sysevents的网络—信号一体化仿真
网络
言乐64 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
疯狂打码的少年5 小时前
【计算机网络】IPv6基础(特点、表示法、与IPv4对比)
网络·笔记·计算机网络
楚Y6同学5 小时前
QT上位机开发-UDP通信-模拟下位机数据联调的方法
网络协议·udp·联调方法
门思科技6 小时前
LoRaWAN 网络容量估算:一个 SX1302 网关到底能带多少设备
开发语言·网络·php
今天AI了吗9 小时前
什么是 AI Agent?它与直接调用大模型 API 有何区别
java·网络·人工智能·架构·java-ee