当前位置: 首页 > news >正文

第6章——HTTP首部

第六章——HTTP首部

HTTP报文结构

都必有报文首部

HTTP请求报文

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

HTTP响应报文

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

HTTP首部字段

###传递重要信息

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

首部字段结构

​ 首部字段名:字段值(,字段值,字段值)

首部字段类型

​ 通用首部字段
请求首部字段:补充请求的附加内容、客户端信息、响应内容相关优先级等信息。
响应首部字段:补充响应的附加内容,也会要求客户端附加额外的内容信息。
实体首部字段:针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。

非首部字段

​ 如Cookie、Set-Cookie和Content-Disposition等

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

特性端到端首部(End-to-End)逐跳首部(Hop-by-Hop)
作用范围客户端和最终服务器之间当前节点与下一个节点之间
传递方式必须转发,保留完整性不会转发,会被中间节点消费或删除
缓存行为缓存代理需保留这些首部缓存代理不会保留,或需要处理后丢弃
是否需标记无需特别标记,默认会传递到最终服务器必须用 Connection 标记为逐跳字段
例子AuthorizationCache-ControlConnection、Keep-Alive

通用首部字段

Cache-Control——操作缓存的工作机制

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

表示是否能缓存的指令:

​ Cache-Control: public——其他用户也可利用缓存

​ Cache-Control: privat——响应只以特定的用户作为对象

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ Cache-Control: no-cache——防止从缓存中返回过期的资源

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

控制可执行缓存的对象的指令

​ Cache-Control: no-store——包含机密信息,缓存不能在本地存储请求或响应的任一部分

指定缓存期限和认证的指令

​ Cache-Control: s-maxage=604800(单位:秒)——功能和max-age 指令的相同,但只适用于供多位用户使用的公共缓存服务器,使用s-maxage指令后,则直接忽略对Expires首部字段及max-age 指令的处理

​ Cache-Control: max-age=604800(单位:秒)——请求中包含max-age指令时,如果判定缓存资源的缓存时间数值比指定时间的数值更小,那么客户端就接收缓存的资源。(当指定max-age值为0,那么缓存服务器通常需要将请求转发给源服务器) ;响应中包含max-age指令时,缓存服务器将不对资源的有效性再作确认,而max-age数值代表资源保存为缓存的最长时间。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ Cache-Control: min-fresh=60(单位:秒)——缓存服务器返回至少还未过指定时间的缓存资源

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ Cache-Control: max-stale=3600(单位:秒)——即使过期也照常接收

​ Cache-Control: only-if-cached——缓存服务器不重新加载响应,也不会再次确认资源有效性,若发生请求缓存服务器的本地缓存无响应,则返回状态码504 Gateway Timeout

​ Cache-Control: must-revalidate——向源服务器再次验证即将返回的响应缓存目前是否仍然有效。 若代理无法连通源服务器再次获取有效资源的话,缓存必须给客户端一条504(Gateway Timeout)状态码。使用must-revalidate 指令会忽略请求的max-stale指令

​ Cache-Control: proxy-revalidate——所有的缓存服务器在接收到客户端带有该指令的请求返回响应之前,必须再次验证缓存的有效性。

​ Cache-Control: no-transform——无论是在请求还是响应中,缓存都不能改变实体主体的媒体类型,防止压缩

Cache-Control 扩展

​ Cache-Control: private, community=“UCI”——扩展Cache-Control 首部字段内的指令

Connection

控制不再转发给代理的首部字段

​ Connection: 不再转发的首部字段名(即Hop-by-hop首部)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

管理持久连接

​ Connection: close——服务器端想明确断开连接

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ Connection: Keep-Alive——在旧版本的HTTP协议上维持持续连接

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

### Date——表明创建HTTP报文的日期和时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Pragma——只用在客户端发送的请求中,客户端要求所有的中间服务器不返回缓存的资源。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Trailer——说明在报文主体后记录了哪些首部字段

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

###Transfer-Encoding——规定了传输报文主体时采用的编码方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

### Upgrade——检测HTTP协议及其他协议是否可使用更高的版本进行通信,其参数值可以用来指定一个完全不同的通信协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

### Via——追踪客户端与服务器之间的请求和响应报文的传输路径

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Warning——告知用户一些与缓存相关的问题的警告

请求首部字段

太多了不写了,实践中遇到了自己查

响应首部字段

太多了不写了,实践中遇到了自己查

实体首部字段

太多了不写了,实践中遇到了自己查

为Cookie服务的首部字段

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Set-Cookie

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Cookie

其他首部字段

​ HTTP 首部字段是可以自行扩展的,在Web服务器和浏览器的应用上,会出现各种非标准的首部字段。

图片转存中…(img-Af8GJdHC-1736243330758)]

[外链图片转存中…(img-lL3e4KcV-1736243330758)]

Cookie

其他首部字段

​ HTTP 首部字段是可以自行扩展的,在Web服务器和浏览器的应用上,会出现各种非标准的首部字段。

相关文章:

第6章——HTTP首部

第六章——HTTP首部 HTTP报文结构 ​ 都必有报文首部 HTTP请求报文 HTTP响应报文 HTTP首部字段 ###传递重要信息 首部字段结构 ​ 首部字段名:字段值(,字段值,字段值) 首部字段类型 ​ 通用首部字段 请求首部字…...

多行输入模式(dquote> 提示符)double quote(双引号)

文章目录 1、引号不匹配具体原因解决办法如何避免此问题 2、double quote(双引号)出现原因解决办法预防措施 ~/Downloads/productqualification-develop git:[main] git commit -m "漏添加到暂存区的代码“ dgqdgqdeMac-mini productqualification-…...

【什么是MVCC?】

MVCC(Multi - Version Concurrency Control)即多版本并发控制。 一、背景和概念 在数据库系统中,并发控制是非常重要的。当多个事务同时访问和修改数据时,需要一种机制来确保数据的一致性和正确性。MVCC 是一种并发控制的技术&a…...

HarmonyOS开发:粒子动画应用实战

目录 引言 粒子动画技术概述 关于粒子动画 粒子发射器的实现 设置粒子颜色 关于粒子的生命周期 粒子扰动场的设置 粒子动画的简单实现 最后 引言 做应用开发的小伙伴想必都清楚动画是必备技能,尤其是在移动应用开发中的动画使用频率是非常高的。而粒子动画…...

数据库课设——网上花店销售管理系统(上)

声明:此次课设为本人专业课课设报告内容,仅供参考,不要照搬 1 问题的提出 随着互联网发展与电子商务普及,网上花店兴起,其突破地域限制、提供便捷购物体验且市场呈快速增长趋势。该系统需具备多方面功能以满足花店运营…...

用于AI的 数据存储其获取介绍

用于 AI 的数据存储和获取方法依赖于系统架构、数据类型(结构化、非结构化、时序数据、嵌入向量等)以及使用场景(训练数据存储、实时推断、历史数据分析等)。以下是主要存储方式的分类和简介: 1. 文件存储 介绍&…...

flutter 专题二十四 Flutter性能优化在携程酒店的实践

Flutter性能优化在携程酒店的实践 一 、前言 携程酒店业务使用Flutter技术开发的时间快接近两年,这期间有列表页、详情页、相册页等页面使用了Flutter技术栈进行了跨平台整合,大大提高了研发效率。在开发过程中,也遇到了一些性能相关问题和…...

L28.【LeetCode笔记】移动零(三种解法)

目录 1.题目 2.向前覆盖法 分析 代码 提交结果 3.优解:双指针 代码 提交结果 4.其他不符合题意的方法:使用队列 代码 提交结果 1.题目 https://leetcode.cn/problems/move-zeroes/description/ 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾…...

jenkins入门10--自动化构建

build periodically:设定类似cron周期性时间触发构建 * * * * * (五颗星,中间用空格隔开) 第一颗表示分钟,取值0~59 第二颗表示小时,取值0~23 第三颗表示一个月的第几天,取值1~31 第四颗表示第几月&#xf…...

el-table拖拽表格

1、拖拽插件安装 npm i -S vuedraggable // vuedraggable依赖Sortable.js,我们可以直接引入Sortable使用Sortable的特性。 // vuedraggable是Sortable的一种加强,实现组件化的思想,可以结合Vue,使用起来更方便。 2、引入拖拽函数…...

如何轻松反转C# List<T>中的元素顺序

在C#中&#xff0c;有多种方法可以反转 List<T> 的元素顺序。以下是几种常见的方法&#xff1a; 方法一&#xff1a;使用 List<T>.Reverse 方法 List<T> 类提供了一个内置的 Reverse 方法&#xff0c;可以就地反转列表中的元素顺序。 using System; using…...

Transformer中Self-Attention以及Multi-Head Attention模块详解(附pytorch实现)

写在前面 最近在项目中需要使用Transformer模型来处理图像任务&#xff0c;所以稍微补充一下这部分的知识&#xff0c;本篇主要了解一下Self-Attention以及Multi-Head Attention模块。 原论文链接&#xff1a;https://arxiv.org/pdf/1706.03762 原文代码&#xff1a;tensor2…...

在Nvidia Jetson ADX Orin中使用TensorRT-LLM运行llama3-8b

目录 背景&#xff1a;步骤 1.获取模型权重第 2 步&#xff1a;准备第 3 步&#xff1a;构建 TensorRT-LLM 引擎 背景&#xff1a; 大型语言模型 &#xff08;LLM&#xff09; 推理的关键瓶颈在于 GPU 内存资源短缺。因此&#xff0c;各种加速框架主要强调减少峰值 GPU 内存使…...

六十一:HTTP/2的问题及HTTP/3的意义

随着互联网的快速发展&#xff0c;网络协议的升级成为优化用户体验和提升网络效率的重要手段。HTTP/2 于 2015 年发布&#xff0c;标志着超文本传输协议的重大改进。然而&#xff0c;尽管 HTTP/2 带来了许多新特性&#xff0c;它也存在一定的问题。在此背景下&#xff0c;HTTP/…...

IOS开发如何从入门进阶到高级

针对iOS开发的学习&#xff0c;不同阶段应采取不同的学习方式&#xff0c;以实现高效提升.本文将iOS开发的学习分为入门、实战、进阶三个阶段&#xff0c;下面分别详细介绍. 一、学习社区 iOS开源中国社区 这个社区专注于iOS开发的开源项目分享与协作&#xff0c;汇集了大量开…...

非一般的小数:小数的概念新解、小数分类、浮点数的存储

非一般的小数&#xff1a;小数的概念新解、小数分类、浮点数的存储 一、小数的概念二、小数的分类1&#xff0e;有限小数、无限循环小数、无限不循环小数2&#xff0e;纯小数、带小数3&#xff0e;定点数、浮点数 三、浮点数的存储 一、小数的概念 这还用解释吗&#xff1f;小…...

关于游戏销量的思考

1、黑神话达到2300万套&#xff0c;分析师上调预期到超过100亿营收。 以往的我的世界、小鸟、超级食肉男孩等游戏也都是几千万&#xff0c;上亿的销量。 也改变了相关开发者的命运。 一个开发者&#xff0c;卖出一个30万&#xff0c;或100万销量的作品&#xff0c;就足够改变…...

JuiceFS 详解:一款为云原生设计的高性能分布式文件系统

JuiceFS 详解&#xff1a;一款为云原生设计的高性能分布式文件系统 1. 什么是 JuiceFS&#xff1f; JuiceFS&#xff08;Juiced File System&#xff09;是一款高性能、POSIX 兼容的云原生分布式文件系统。它采用对象存储作为底层存储&#xff0c;支持多种元数据引擎&#xf…...

百度Android面试题及参考答案 (下)

Executorservice 和 Executor 有什么区别? Executor 接口 Executor 是一个简单的接口,它定义了一个方法execute(Runnable command)。这个接口的主要目的是将任务的提交和任务的执行分离,它提供了一种通用的方式来执行一个Runnable任务,但是它没有提供更多高级的功能,比如任…...

RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案

RK3588FPGA核心板采用Rockchip RK3588新一代旗舰 级八核64位处理器&#xff0c;支持8K视频编解码&#xff0c;多屏4K输出&#xff0c;可实现12屏联屏拼接、同显、异显&#xff0c;适配多种操作系统&#xff0c;广泛适用于展览展示、广告内容投放、新零售、商超等领域实现各种媒…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...