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

HTTP 之 头部信息(二)

HTTP头部是HTTP请求和响应的重要组成部分,它们提供了关于传输的数据的附加信息。HTTP头部由一系列的键值对组成,每个键值对占据一行,键和值由冒号和空格分隔。

通用头部(请求和响应共享)

  • Cache-Control: 控制响应的缓存行为。
    例子:Cache-Control: no-cache 指示缓存不应使用存储的响应,除非通过重新验证确认。
  • Connection: 控制TCP连接的选项。
    例子:Connection: keep-alive 表示希望TCP连接保持活动状态,用于多个请求和响应。
  • Date: 消息生成的日期和时间。
    例子:Date: Tue, 07 Aug 2018 22:13:46 GMT
  • Pragma: 特定于实现的指令,通常用于与HTTP/1.0兼容。
    例子:Pragma: no-cache 通常与 Cache-Control: no-cache 一起使用,以确保兼容性。
  • Trailer: 用于分块传输编码中,指示在消息末尾包含的头部字段。
  • Transfer-Encoding: 定义了传输数据时使用的编码方式。
    例子:Transfer-Encoding: chunked 表示使用分块传输编码。
  • Upgrade: 指示客户端和服务器应该升级到更高级的协议。
    例子:Upgrade: h2c 表示客户端希望升级到HTTP/2无加密版本。
  • Via: 显示了请求和响应经过的代理列表。

请求头部

  • Accept: 客户端能够处理的媒体类型。
    例子:Accept: text/html,application/xhtml+xml,application/xml;q=0.9 表示优先接受HTML,其次是XHTML或XML。
  • Accept-Charset: 客户端能够处理的字符集。
  • Accept-Encoding: 客户端能够处理的压缩编码。
    例子:Accept-Encoding: gzip, deflate 表示客户端可以处理gzip和deflate压缩。
  • Accept-Language: 客户端偏好的语言。
    例子:Accept-Language: en-US,en;q=0.9 表示首选美式英语,其次是英语。
  • Authorization: 用于提供客户端的认证信息。
  • Cookie: 包含客户端存储的cookie信息。
  • Host: 请求的服务器的主机名和端口号。
    例子:Host: www.example.com 指定了请求的主机。
  • If-None-Match: 资源的ETag值,用于缓存验证。
  • Referer: 指示一个请求是由哪个页面发起的。
  • User-Agent: 客户端的软件信息。
    例子:User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) 描述了客户端浏览器的类型和操作系统。

响应头部

  • Allow: 列出了资源支持的HTTP方法。
  • Content-Encoding: 响应体使用的编码。
  • Content-Length: 响应体的字节长度。
  • Content-Type: 响应体的MIME类型。例子:Content-Type: text/html; charset=UTF-8 表示响应体是HTML格式,字符编码为UTF-8。
  • ETag: 资源的特定版本的标识。
  • Expires: 响应的过期时间。
  • Last-Modified: 资源最后被修改的时间。
  • Location: 用于重定向的URI。
  • Retry-After: 如果服务暂时不可用,告诉客户端多久后重试。
  • Server: 服务器软件的信息。
  • Set-Cookie: 用于设置客户端的cookie。

请求头:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: keep-alive

响应头:

HTTP/1.1 200 OK
Date: Tue, 07 Aug 2018 22:13:46 GMT
Server: Apache/2.4.7 (Ubuntu)
Last-Modified: Wed, 22 Mar 2017 18:20:43 GMT
ETag: "12345abc"
Accept-Ranges: bytes
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
Connection: keep-alive

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Vue3+vite+ts 项目使用mockjs
  • 【C++ 面试 - 基础题】每日 3 题(十六)
  • 质量对中国开发商提升游戏品牌信誉和信任度的影响
  • Java设计模式之中介者模式
  • 【SpringBoot】SpringBoot框架的整体环境搭建和使用(整合Mybatis,Druid,Junit4,PageHelper,logback等)
  • Android 13 移植EthernetSettings/Ethernet更新
  • Java设计模式之策略模式实践
  • MATLAB R2023b配置Fortran编译器
  • java基础进阶——log日志、类加载器、XML、单元测试、注解、枚举类
  • 使用openlayers给地图添加内发光、外发光、内外阴影、三维立体效果
  • 可乐机的设计验证
  • 125. 验证回文串【 力扣(LeetCode) 】
  • 设计模式 - 状态模式
  • 详解使用Goalng+Redis实现分布式锁
  • haralyzer 半自动,一次性少量数据采集快捷方法
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 2017 前端面试准备 - 收藏集 - 掘金
  • Mysql5.6主从复制
  • Mysql数据库的条件查询语句
  • Mysql优化
  • nodejs调试方法
  • PHP 7 修改了什么呢 -- 2
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • SQLServer插入数据
  • webpack入门学习手记(二)
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 全栈开发——Linux
  • 使用 Docker 部署 Spring Boot项目
  • 一个JAVA程序员成长之路分享
  • 一天一个设计模式之JS实现——适配器模式
  • 赢得Docker挑战最佳实践
  • 阿里云API、SDK和CLI应用实践方案
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​浅谈 Linux 中的 core dump 分析方法
  • #1015 : KMP算法
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (21)起落架/可伸缩相机支架
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Qt) 默认QtWidget应用包含什么?
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (四)图像的%2线性拉伸
  • (一)RocketMQ初步认识
  • (转)JAVA中的堆栈
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • (自用)交互协议设计——protobuf序列化
  • .bat批处理出现中文乱码的情况
  • .net dataexcel winform控件 更新 日志
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 设计模式初探
  • .NET 事件模型教程(二)
  • .NET导入Excel数据
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • ??eclipse的安装配置问题!??