http报头解析

news2025/1/5 8:08:56

http报文

   http报文主要有两类是常见的,第一类是请求报文,第二类是响应报文,每个报头除了第一行,都是采用键值对进行传输数据,请求报文的第一行主要包括http方法(GET,PUT, POST),请求资源的url,http协议版本。响应报文第一行是状态行,它包括http协议版本,状态码(200表示成功,404表示没有找到等),状态消息(如OK,Not found等)

请求报文一般是客户端发送给服务端的,表示要请求的资源,响应报文一般是服务端给客户端的,返回对应的资源。

请求报文

Host:指定请求的服务器的域名和端口号。
User-Agent:包含了发出请求的浏览器类型、版本和操作系统信息。
Accept:浏览器能够处理的媒体类型。
Accept-Language:浏览器偏好的语言。
Accept-Encoding:浏览器能够处理的压缩算法。
Connection:管理持久连接,如 keep-alive。
Cookie:存储在用户本地的会话信息。
Authorization:用于HTTP认证的凭证信息。
Content-Length:请求正文的长度。
Content-Type:请求正文的媒体类型。

但是需要注意的是,这些字段不一定都是全部都有的,发送方会根据自己的需求进行取舍,行与行之间是用过“\r\n”进行隔开,而报头和正文是通过“/r/n/r/n"就是两行换行进行隔离

这就是一个经典的例子

下面是几个请求方法不同

  1. GET

    • 用于请求从服务器检索特定资源。
    • 应该只用于获取数据,不应产生服务器上的状态变化。
    • 幂等的,意味着多次执行相同的GET请求应该得到相同的结果,且不会影响资源的状态。
    • 通常用于数据查询。
  2. POST

    • 用于向服务器提交数据进行处理请求,例如提交表单或上传文件。
    • 可以导致新资源的创建或现有资源的修改。
    • 不是幂等的,因为多次执行相同的POST请求可能会导致资源状态的不同变化。
    • 通常用于创建新资源。
  3. PUT

    • 用于上传文件或发送数据给服务器以创建新的资源或替换已存在的资源。
    • 如果资源不存在,则创建资源;如果资源已存在,则替换资源。
    • 幂等的,多次执行相同的PUT请求应该得到相同的结果。
    • 通常用于更新现有资源。

响应报文 

  Content-Type:响应正文的媒体类型。
Content-Length:响应正文的长度。
Set-Cookie:服务器发送给客户端的会话信息。
Cache-Control:控制响应的缓存行为。
Expires:响应过期的时间。
Last-Modified:资源最后被修改的时间。
ETag:资源的特定版本标识。
Server:服务器软件名称。
Location:用于重定向的URL。
WWW-Authenticate:用于HTTP认证的挑战信息。

但是需要注意的是,这些字段不一定都是全部都有的,发送方会根据自己的需求进行取舍,行与行之间是用过“\r\n”进行隔开,而报头和正文是通过“/r/n/r/n"就是两行换行进行隔离,其中Content-Length是不包括报头长度

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

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

相关文章

Lucene 漏洞历险记:修复损坏的索引异常

作者:来自 Elastic Benjamin Trent 有时,一行代码需要几天的时间才能写完。在这里,我们可以看到工程师在多日内调试代码以修复潜在的 Apache Lucene 索引损坏的痛苦。 做好准备 这篇博客与往常不同。它不是对新功能或教程的解释。这是关于花…

如何提升可视化大屏的用户体验?

一、什么是可视化大屏的用户体验 可视化大屏的用户体验是指用户在使用大屏幕可视化系统时所感受到的整体体验。这包括系统的易用性、交互性、视觉效果、信息展示方式等方面。一个好的可视化大屏用户体验应该能够让用户轻松地获取所需的信息,快速理解数据&#xff0…

overscroll-behavior-解决H5在ios上过度滚动的默认行为

1. 问题 开发H5的过程中,经常会有android和ios两边系统需要兼容的情况。在ios上一直有个问题是当H5内容触及到页面顶部或底部时,还是可以被人为的往下或往下拉动界面。当然可能有的情况是比较适用的,比如你往下拉动,然后在导航栏…

【无线传感网】无线传感器网络拓扑控制技术

文章目录 拓扑控制的意义影响整个网络的生存时间减小节点间通信干扰,提高网络通信效率为路由协议、时间同步提供基础影响数据融合弥补节点失效的影响 拓扑控制的设计目标能量消耗覆盖度连通性算法的分布式程度网络延迟🚩干扰和竞争对称性鲁棒性和可扩展性…

使用pandas把数据库中的数据转成csv文件

使用pandas把数据库中的数据转成csv文件 1、效果图 2、流程 1、连接数据库,获取数据 2、把一些中文字符转成gbk,忽略掉无法转化的 3、把数据转成csv 3、代码 import pymysql import pandas as pddef get_database(databasename):

点击锁定按钮,锁定按钮要变成解锁按钮,然后状态要从待绑定变成 已锁定(升级版)

文章目录 1、updateInviteCodeStatus2、handleLock3、InviteCodeController4、InviteCodeService5、CrudRepository 点击锁定按钮,锁定按钮要变成解锁按钮,然后状态要从待绑定变成 已锁定:https://blog.csdn.net/m0_65152767/article/details…

活动报名系统源码:JAVA同城服务系统活动报名同城圈子商家商城城市代理躲猫猫

JAVA同城服务系统:打造多元化社交与娱乐新体验 在数字化时代,同城服务系统已成为连接城市生活的重要桥梁。我们精心打造的JAVA同城服务系统,不仅融合了活动报名、同城圈子、商家商城、城市代理等多重功能,还特别加入了创新的“躲…

【大模型实战篇】LLaMA Factory微调ChatGLM-4-9B模型

1. 背景介绍 虽然现在大模型微调的文章很多,但纸上得来终觉浅,大模型微调的体感还是需要自己亲自上手实操过,才能有一些自己的感悟和直觉。这次我们选择使用llama_factory来微调chatglm-4-9B大模型。 之前微调我们是用两块3090GPU显卡&…

数势科技:解锁数据分析 Agent 的智能密码(14/30)

一、数势科技引领数据分析变革 在当今数字化浪潮中,数据已然成为企业的核心资产,而数据分析则是挖掘这一资产价值的关键钥匙。数势科技,作为数据智能领域的领军者,以其前沿的技术与创新的产品,为企业开启了高效数据分析…

[卫星遥感] 解密卫星目标跟踪:挑战与突破的深度剖析

目录 [卫星遥感] 解密卫星目标跟踪:挑战与突破的深度剖析 1. 卫星目标跟踪的核心挑战 1.1 目标的高速与不确定性 1.2 卫星传感器的局限性 1.3 数据处理与融合问题 1.4 大尺度与实时性要求 2. 当前卫星目标跟踪的主流技术 2.1 卡尔曼滤波(Kalman …

骑行解压:身心的奇妙之旅,VELO Angel Revo坐垫

在快节奏的都市生活中,骑行不仅是一种健康的生活方式,更是一种心灵的释放。从心理生理学的角度来看,骑行能够促使身体分泌内啡肽,带来愉悦感,同时,它还能转移注意力,缓解焦虑。在这场身心的奇妙…

Agent系列:AppAgent v2-屏幕智能Agent(详解版)

引言 简介 方法 Agent 框架 Agent 交互 探索阶段 部署阶段 文档生成 高级功能 实验结果 总结 局限性 未来工作 1. 引言 大语言模型(LLM)如 ChatGPT 和 GPT-4 显著提升了自然语言处理能力,并且推动了智能体在自主决策中的应用。…

高等数学学习笔记 ☞ 无穷小与无穷大

1. 无穷小 1. 定义:若函数当或时的极限为零,那么称函数是当或时的无穷小。 备注: ①:无穷小描述的是自变量的变化过程中,函数值的变化趋势,绝不能认为无穷小是一个很小很小的数。 ②:说无穷小时…

【网络安全实验室】SQL注入实战详情

如果额头终将刻上皱纹,你只能做到,不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: 密码随便填,验证码填正确的,点击登录…

Hive性能调优考量

Hive作为大数据领域常见的数据仓库组件,在设计和开发阶段需要注意效率。影响Hive效率的不仅仅是数据量过大,数据倾斜、job(小文件过多)或者磁盘I/O过多、MapReduce分配不合理等因素都会对Hive的效率有影响。对Hive的调优可以从架构…

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示 参考文章源码下载地址一、SDL2的创建、初始化、退出二、系统基本Tick、彩屏刷新、按键事件三、彩屏获取与设置颜色四、彩屏填充颜色及清屏五、彩屏显示中文和英文字符串六、彩屏显示数字七、彩屏初始化八、主函数测…

ESLint+Prettier的配置

ESLintPrettier的配置 安装插件 ​​​​​​ 在settings.json中写下配置 {// tab自动转换标签"emmet.triggerExpansionOnTab": true,"workbench.colorTheme": "Default Dark","editor.tabSize": 2,"editor.fontSize": …

Springboot使用RabbitMQ实现关闭超时订单的一个简单示例

1.maven中引入rabbitmq的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 2.application.yml中进行rabbitmq相关配置&#xff1a; # rabbit…

复杂对象的创建与组装 - 建造者模式(Builder Pattern)

建造者模式&#xff08;Builder Pattern&#xff09; 建造者模式&#xff08;Builder Pattern&#xff09;建造者模式&#xff08;Builder Pattern&#xff09;概述建造者模式结构图代码 talk is cheap&#xff0c; show you my code总结 建造者模式&#xff08;Builder Patter…

云计算课程报告实验-WordCount算法实验 过程记录

内容描述 本实验指导书通过在华为鲲鹏上&#xff0c;编译运行WordCount程序。完成实验操作后&#xff0c;读者会掌握简单的程序编写&#xff0c;如WordCount中的getWords、countWords、treeMerge。 实验环境 华为鲲鹏云主机、openEuler 20.03操作系统&#xff1b;安装mpich-3…