HTTP笔记(五)

news2024/11/20 6:26:50

 个人学习笔记(整理不易,有帮助点个赞)

笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客

目录

一:HTTP报文首部

(1)HTTP请求报文

(2)HTTP响应报文

(3)HTTP首部字段作用

(4)HTTP首部字段结构

(5)HTTP首部字段类型

二:End-to-end 首部和 Hop-by-hop 首部

三:通用首部字段

四:请求首部字段

五:响应首部字段

六:实体首部字段

七:非 HTTP/1.1 首部字段


一:HTTP报文首部

这个图(上图是请求报文)可以看出HTTP报文的结构,由这几块组成:

报文首部
(有客户端和服务端需要的信息)
空行(CR+LF)
报文主体
(有用户和资源信息)

(1)HTTP请求报文

报文首部
(有客户端和服务端需要的信息)
请求行方法,URI,HTTP版本
请求首部字段
通用首部字段
实体首部字段
HTTP首部字段
其他

(2)HTTP响应报文

报文首部
(有客户端和服务端需要的信息)
状态行HTTP版本,状态码
响应首部字段
通用首部字段
实体首部字段
HTTP首部字段
其他

(3)HTTP首部字段作用

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

(4)HTTP首部字段结构

首部字段名:字段值,其中字段值可以有多个

keep-Alive:timeout=20,max=50

ps:如果出现2个首部字段名,这种情况在规范内不明确,根据浏览器内部处理逻辑的不同,结果可能不一致

(5)HTTP首部字段类型

  • 通用首部字段( General Header Fields):请求报文和响应报文两方都会使用的首部

  • 请求首部字段( Request Header Fields):从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息

  • 响应首部字段( Response Header Fields):从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息

  • 实体首部字段( Entity Header Fields):针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息

二:End-to-end 首部和 Hop-by-hop 首部

HTTP 首部字段将定义成缓存代理和非缓存代理的行为,分成2种类型。

  • 端到端首部(End-to-end Header):分在此类别中的首部会转发给请求/响应对应的最终接收目标,且必须保存在有缓存生成的响应中,另外规定它必须被转发
  • 逐跳首部(Hop-by-hop Header):分在此类别种的首部只对单次转发有效,会因通过缓存或代理而不再转发。HTTP/1.1 和之后版本中,如果使用hop-by-hop 首部,需提供Connection 首部字段

下面列举了 HTTP/1.1 中的逐跳首部字段。除这8个首部字段之外,其他所有字段都属于端到端首部

  • Connection
  • Keep-Alive
  • Proxy-Authenticate
  • Proxy-Authorization
  • Trailer
  • TE
  • Transfer-Encoding
  • Upgrade

三:通用首部字段

逐跳首部字段(Hop-by-hop Header)指的是只对单次转发有效, 会因通过缓存或代理而不再转发

首部字段名说明
Cache-Control控制缓存的行为
Date创建报文的日期时间
Pragma报文指令,旧版本遗留字段,作为旧版本兼容字段
Connection逐跳首部字段、控制不再转发给代理的首部字段、管理持久连接
Trailer逐跳首部字段,报文末端的首部一览
Transfer-Encoding逐跳首部字段,指定报文主体的传输编码方式
Upgrade逐跳首部字段,升级为其他协议
Via代理服务器的相关信息
Warning错误通知

四:请求首部字段

Accept用户代理可处理的媒体类型
Accept-Charset可处理的优先的字符集
Accept-Encoding可处理的优先的内容编码
Accept-Language可处理的优先的语言(自然语言)
Authorization认证信息
Expect期待服务器的特定行为
From用户的电子邮箱地址
Host请求资源所在服务器,多用于单台服务器分配多个域名的场景
If-Match比较实体标记(ETag)
If-Modified-Since比较资源的更新时间
If-None-Match比较实体标记(与If-Match相反)
If-Range资源未更新时发送实体Byte的范围请求
If-Unmodified-Since比较资源的更新时间(与If-Modified-Since相反)
Max-Forwards最大传输逐跳数,配合 TRACE 请求使用
Proxy-Authorization逐跳首部字段,代理服务器要求客户端的认证信息
TE逐跳首部字段,传输编码的优先级
Range实体的字节范围请求
Referer对请求中URI的原始获取方
User-Agent请求的浏览器和用户代理名称等信息
CookieCookie 信息
DNTDo Not Track,拒绝个人信息被收集,表示拒绝被精准广告追踪的一种方法,0-同意 1-拒绝

五:响应首部字段

首部字段名说明
Accept-Ranges是否接受字节范围请求
Age源服务器多久前创建了响应,单位为秒
ETag资源的匹配信息,唯一性标识
Location令客户端重定向至指定URI
Proxy-Authenticate逐跳首部字段,代理服务器对客户端的认证信息
WWW-Authenticate服务器对客户端的认证信息
Retry-After告知客户端应该多久之后再次发送请求
Server当前服务器上安装的 HTTP 服务器应用程序的信息
Vary对缓存进行控制,源服务器会向代理服务器传达关于本地缓存使用方法的命令
Set-Cookie通知客户端开始状态管理所使用的Cookie信息
X-Frame-Options用于控制网站内容在其他 Web 网站的 Frame 标签内的显示问题。
主要目的是为了防止点击劫持(clickjacking)攻击,可设置 DENY 或 SAMEORIGIN
X-XSS-Protection针对跨站脚本攻击(XSS)的一种对策,用于控制浏览器 XSS 防护机制的开关,0-关闭,1-打开

六:实体首部字段

首部字段名说明
Allow资源可支持的HTTP方法
Content-Encoding实体主体适用的编码方式
Content-Language实体主体的自然语言
Content-Length实体主体的大小(单位:字节)
Content-Location报文主体返回资源对应的 URI。Location 对应的是响应,而 Content-Location 对应的是要返回的实体
Content-MD5一串由 MD5 算法生成的值,其目的在于检查报文主体在传输过程中是否保持完整,以及确认传输到达
Content-Range实体主体的位置范围
Content-Type实体主体的媒体类型
Expires实体主体过期的日期时间,若不希望被缓存可设置成与 Date 值一致
Last-Modified资源的最后修改日期时间

七:非 HTTP/1.1 首部字段

在 HTTP 协议通信交互中使用到的首部字段,不限于RFC2616 中定义的47种首部字段。

还有Cookie、Set-Cookie 和 Content-Disposition等在其他 RFC 中定义的首部字段,它们的使用频率也很高。

这些非正式的首部字段同一归纳在RFC4299 HTTP Header Field Registrations中。

详细含义可参考:计算机网络--应用层--3.2*--HTTP--HTTP1.1首部字段_http应用层首部-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1478452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于深度学习的水稻病害检测系统(含UI界面、yolov8、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8 yolov8主要包含以下几种创新:         1. 可以任意更换主干结构,支持几百种网络主干。 数据集:     网上下载的数据集&#x…

用户增长6步法

什么是用户增长? 通过痛点、产品、渠道、内容、技术、数据等要素实现用户的获取、激活、留存、变现、推荐,用户增长包含了产品出现前的用户增长、产品生产周期内的用户增长、产品生命周期外的用户增长三个阶段。 用户增长6步法:方法、模型和…

【重温设计模式】桥接模式及其Java示例

【重温设计模式】桥接模式及其Java示例 桥接模式的介绍 今天我们要探讨的,正是一种名为“桥接模式”的设计模式。桥接模式,英文名Bridge Pattern,是一种结构型设计模式,它的主要目的是将抽象部分与实现部分分离,使得两…

Unity(第十一部)场景

游戏有多个场景组成(新手村,某某副本,主城) 场景是有多个物体组成(怪物,地形,玩家等) 物体是有多个组件组成(刚体组件,自定义脚本) 创建场景 编辑…

77. 组合(力扣LeetCode)

文章目录 77. 组合题目描述回溯算法组合问题的剪枝操作 77. 组合 题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [ [2,4], [3,4],…

Android T 远程动画显示流程其三——桌面侧动画启动到系统侧结束流程

前言 接着前文分析Android T 远程动画显示流程其二 我们通过IRemoteAnimationRunner跨进程通信从系统进程来到了桌面进程,这里是真正动画播放的逻辑。 之后又通过IRemoteAnimationFinishedCallback跨进程通信回到系统进程,处理动画结束时的逻辑。 进入…

07-Linux部署Nginx

Linux部署Nginx 简介 NGINX是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它的特点包括占用内存少、并发能力强,因此在处理高负载和高并发的场景时表现优秀。NGINX由俄罗斯的程序设计师Igor Sysoev开发,最初是为俄…

LeetCode:2867. 统计树中的合法路径数目(筛质数+ DFS Java)

目录 2867. 统计树中的合法路径数目 题目描述: 实现代码与思路: 筛质数 DFS 原理思路: 2867. 统计树中的合法路径数目 题目描述: 给你一棵 n 个节点的无向树,节点编号为 1 到 n 。给你一个整数 n 和一个长度为 …

精读《React 高阶组件》

本期精读文章是:React Higher Order Components in depth 1 引言 高阶组件( higher-order component ,HOC )是 React 中复用组件逻辑的一种进阶技巧。它本身并不是 React 的 API,而是一种 React 组件的设计理念&…

java演唱会网上订票购票系统springboot+vue

随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的交换和信息流通显得特别重要。因此,开发合适的基于springboot的演唱会购票系统的设计与实现成为企业必然要走…

安科瑞Acrel-2000ES 储能柜能量管理系统

安科瑞戴婷 安科瑞储能能量管理系统Acrel-2000ES,专门针对工商业储能柜、储能集装箱研发的一款储能EMS, 具有完善的储能监控与管理功能,涵盖了储能系统设备(PCS、BMS、电表、消防、空调等)的详细信息,实现了数据采集、数据处理、数据存储、数据查询与分…

17.题目:编号3766 无尽的石头

题目&#xff1a; ###本题主要考察模拟 #include<bits/stdc.h> using namespace std; int sum(int x){int result0;while(x){resultx%10;x/10;}return result; } int main(){int t;cin>>t;while(t--){int n;cin>>n;int buf1;int ans0;for(int i1;i<100…

内核打印应用程序出错信息,DEBUG_USER

前言 在 Linux 系统中&#xff0c;运行一个应用程序&#xff0c;突然提示段错误&#xff0c;并停止运行 # ./crash.out Segmentation fault如果这个时候操作系统能多提示点错误信息&#xff0c;那将会缩短我们 debug 的时间。 core dump 就是一个办法&#xff0c;可以查看我…

网络工程师笔记2

TCP-----FTP&#xff0c;可靠连接&#xff0c;三次握手&#xff0c;四次挥手 UDP-----TFTP&#xff0c;两次握手&#xff0c;不可靠连接 应用层 传输层 网络层 网络接口层 源/目数据校验 数据帧&#xff1a; header date trailer…

每天十条linux知识点-24-0226(1)

文章目录 1.在哪下载linux内核源码&#xff1f;2.linux文件夹都有哪些文件&#xff1f;arch&#xff1a;包含和硬件体系结构相关的代码&#xff0c;每种平台占一个相应的目录&#xff0c;如i386、arm、arm64、powerpc、mips等。block&#xff1a;块设备驱动程序I/O调度。certs&…

企业文件图纸加密有哪些?图纸文件加密防泄密软件如何选?

在现在的市场发展中&#xff0c;对于企业的图纸文件安全问题越来越重视&#xff0c;如设计图纸&#xff0c;重要文件等&#xff0c;一旦泄漏就会给企业造成巨大的经济损失。所以对企业管理者来讲&#xff0c;如何才能选择一款好用的适合本企业的图纸文件加密软件是非常重要的&a…

【转载】Windows 11 任务栏位置调整

更改注册表&#xff08;部分win11版本有效&#xff09; Win R快捷键打开「运行」——执行regedit命令打开「注册表编辑器」进入路径&#xff1a; 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3 修改Settings这个二进制的第 2 行…

一台工控机的能量

使用Docker搭建EPICS的IOC记录 Zstack EPICS Archiver在小课题组的使用经验 以前电子枪调试&#xff0c;用一台工控机跑起束测后台&#xff0c;这次新光源用的电子枪加工回来又是测试&#xff0c;又是用一台工控机做起重复的事&#xff0c;不过生命在于折腾&#xff0c;重复的…

VR文化旅游虚拟现实介绍|虚拟现实产品销售

VR文化旅游虚拟现实&#xff08;Virtual Reality Cultural Tourism&#xff09;是指利用虚拟现实技术来提供沉浸式的文化旅游体验&#xff0c;使用户可以通过虚拟现实设备&#xff0c;如头戴式显示器或VR眼镜等&#xff0c;在虚拟空间中探索和体验不同地域、历史和文化的景点和…

一个Bug搞懂浏览器缓存策略

最近项目遇到一个问题&#xff0c;发版之后&#xff0c;用户需要清除缓存才可以访问到最新的应用&#xff0c;但是我们访问却可以正常。经过1天的研究搞懂了浏览器缓存的机制&#xff0c;记录下分析轨迹。 浏览器缓存基础知识 浏览器强缓存和协议缓存都是用来提高网页加载速度…