http报头解析
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"就是两行换行进行隔离

这就是一个经典的例子
下面是几个请求方法不同
-
GET:
- 用于请求从服务器检索特定资源。
- 应该只用于获取数据,不应产生服务器上的状态变化。
- 幂等的,意味着多次执行相同的GET请求应该得到相同的结果,且不会影响资源的状态。
- 通常用于数据查询。
-
POST:
- 用于向服务器提交数据进行处理请求,例如提交表单或上传文件。
- 可以导致新资源的创建或现有资源的修改。
- 不是幂等的,因为多次执行相同的POST请求可能会导致资源状态的不同变化。
- 通常用于创建新资源。
-
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报头解析
http报文 http报文主要有两类是常见的,第一类是请求报文,第二类是响应报文,每个报头除了第一行,都是采用键值对进行传输数据,请求报文的第一行主要包括http方法(GET,PUT, POST&#…...
数据库的概念和操作
目录 1、数据库的概念和操作 1.1 物理数据库 1. SQL SERVER 2014的三种文件类型 2. 数据库文件组 1.2 逻辑数据库 2、数据库的操作 2.1 T-SQL的语法格式 2.2 创建数据库 2.3 修改数据库 2.4 删除数据库 3、数据库的附加和分离 1、数据库的概念和操作 1.1 物理数据库…...
《XML Schema 字符串数据类型》
《XML Schema 字符串数据类型》 1. 引言 XML Schema 是一种用于描述和验证 XML 文档结构和内容的语言。在 XML Schema 中,字符串数据类型是一种基本的数据类型,用于表示文本数据。本文将详细介绍 XML Schema 中的字符串数据类型,包括其定义…...
idea 开发Gradle 项目
在Mac上安装完Gradle后,可以在IntelliJ IDEA中配置并使用Gradle进行项目构建和管理。以下是详细的配置和使用指南: 1. 验证Gradle是否已安装 在终端运行以下命令,确保Gradle安装成功: gradle -v如果输出Gradle版本信息ÿ…...
Keepalived + LVS 搭建高可用负载均衡及支持 Websocket 长连接
一、项目概述 本教程旨在助力您搭建一个基于 Keepalived 和 LVS(Linux Virtual Server)的高可用负载均衡环境,同时使其完美适配 Websocket 长连接场景,确保您的 Web 应用能够高效、稳定地运行,从容应对高并发访问&…...
产品经理2025年展望
产品经理作为连接技术、设计与市场需求的桥梁,在快速变化的商业环境中扮演着至关重要的角色。展望2025年,随着技术的不断进步和消费者需求的日益多样化,产品经理的工作将面临更多挑战与机遇。 一、人工智能与自动化深化应用: 到…...
【信息系统项目管理师】第14章:项目沟通管理过程详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、规划沟通管理1、输入2、工具与技术3、输出二、管理沟通1、输入2、工具与技术3、输出三、监督沟通1、输入2、工具与技术3、输出一、规划沟通管理 定义:规划沟通管理是基于每个干系人或干系人群体的信息需求…...
串口DMA接收数据基本思路
串口DMA接收基本思路 串口DMA接收数据基本思路一、串口处理使用背景及常用处理方法二、串口DMA接收相关思路三、串口DMA发送相关思路 串口DMA接收数据基本思路 一、串口处理使用背景及常用处理方法 单片机经常有串口处理大量数据的场景,常用的串口处理数据方式有如…...
数据结构复习 (二叉查找树,高度平衡树AVL)
1.二叉查找树: 为了更好的实现动态的查找(可以插入/删除),并且不超过logn的时间下达成目的 定义: 二叉查找树(亦称二叉搜索树、二叉排序树)是一棵二叉树,其各结点关键词互异,且中根序列按其关键词递增排列。 等价描述: 二叉查找…...
FreeSWITCH 简单图形化界面39 - Windows安装FreeSWITCH For IPPBX(WSL环境)
FreeSWITCH 简单图形化界面39 - Windows安装FreeSWITCH For IPPBX(WSL环境) 0、界面预览1、部署WSL1.1 安装WSL1.2 安装Windows Terminal1.3 安装WSL配置工具 2、安装Ubuntu24.043、安装FreeSWITCH4、登录Web4.1 80端口占用了 5、测试6、卸载 0、界面预览…...
uniapp - 小程序实现摄像头拍照 + 水印绘制 + 反转摄像头 + 拍之前显示时间+地点 + 图片上传到阿里云服务器
前言 uniapp,碰到新需求,反转摄像头,需要在打卡的时候对上传图片加上水印,拍照前就显示当前时间日期地点,拍摄后在呈现刚才拍摄的图加上水印,最好还需要将图片上传到阿里云。 声明 水印部分代码是借鉴的…...
Qt天气预报系统设计界面布局第四部分左边
Qt天气预报系统设计 1、第四部分左边的第一部分1.1添加控件1.2修改控件名字 2、第四部分左边的第二部分2.1添加控件2.2修改控件名字 3、第四部分左边的第三部分3.1添加控件3.2修改控件名字 4、对整个widget04l调整 1、第四部分左边的第一部分 1.1添加控件 拖入一个widget&…...
VS无法找到低版本的.net,vs2022创建不了.net6的项目
很多人会遇到安装完vs最新版(目前是2022)之后,创建不了旧版本的.net项目了,比如我在学习.net core 6,我的2022无法创建,只能创建.netcore8的项目,以及又安装了2019,同样无法创建,接下来介绍怎么…...
C++软件设计模式之解释器模式
解释器模式的目的和意图 解释器模式(Interpreter Pattern)是一种行为设计模式,主要用于定义一种语言的文法,并通过该文法解释语言中的句子(表达式)。解释器模式的核心思想是将一个特定的语言表示为其文法规…...
小程序发版后,用户使用时,强制更新为最新版本
为什么要强制更新为最新版本? 在小程序的开发和运营过程中,强制用户更新到最新版本是一项重要的策略,能够有效提升用户体验并保障系统的稳定性与安全性。以下是一些主要原因: 1. 功能兼容 新功能或服务通常需要最新版本的支持&…...
如何使用AI工具cursor(内置ChatGPT 4o+claude-3.5)
⚠️温馨提示: 禁止商业用途,请支持正版,充值使用,尊重知识产权! 免责声明: 1、本教程仅用于学习和研究使用,不得用于商业或非法行为。 2、请遵守Cursor的服务条款以及相关法律法规。 3、本…...
说说缓存使用的具体场景都有哪些?缓存和数据库一致性问题该如何解决?缓存使用常见问题有哪些?
面试官:说说缓存使用的具体场景都有哪些?缓存和数据库一致性问题该如何解决?缓存使用常见问题有哪些? 缓存的具体使用场景有这些: 数据频繁读取: 当某些数据频繁被读取而不常变化时,可以将这些…...
2025-01-01 NO2. XRHands 介绍
文章目录 软件配置1 XR Hands 简介2 XRHand2.1 Pose2.2 Handedness 3 XRHandJoint3.1 XRHandJointID3.2 XRHandJointTrackingState 4 XRHandSubsystem4.1 数据属性4.1.1 UpdateSuccessFlags4.1.2 UpdateType 4.2 处理器管理:注册和注销4.3 更新手部数据:…...
Java开发-后端请求成功,前端显示失败
文章目录 报错解决方案1. 后端未配置跨域支持2. 后端响应的 Content-Type 或 CORS 配置问题3. 前端 request 配置问题4. 浏览器缓存或代理问题5. 后端端口未被正确映射 报错 如下图,后端显示请求成功,前端显示失败 解决方案 1. 后端未配置跨域支持 …...
未来20年在大语言模型相关研究方向--大语言模型的优化与改进
未来20年在大语言模型相关研究方向 模型性能优化 模型架构创新:研究新型的模型架构,如探索更高效的Transformer变体、融合递归神经网络(RNN)和卷积神经网络(CNN)的优点,以提高模型的性能、可扩展性和适应性,满足不同应用场景对模型效率和效果的要求。高效训练算法:开…...
八大网盘直链提取终极指南:突破客户端限制的JavaScript神器
八大网盘直链提取终极指南:突破客户端限制的JavaScript神器 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...
修改 WindTerm 快捷键配置为Ctrl+V / Ctrl+C
为了让 复制 / 粘贴 的快捷键更符合 Windows 的使用习惯,可以按下面的方法修改 WindTerm 的配置文件。 一、找到配置文件 先进入 WindTerm 的安装目录,然后依次打开: global 文件夹 在该文件夹中找到以下配置文件之一: wind.keyma…...
推荐 React 开发需要在 VS Code 中安装的插件
React开发必备VSCode插件清单:核心工具包括ESLintPrettier保障代码质量与风格统一;ES7React代码片段和PathIntellisense提升编码效率;ReactDeveloperTools辅助UI调试。关键配置要点:1)用eslint-config-prettier解决ESLint与Pretti…...
告别多应用切换:Chrome QRCode让二维码处理效率提升300%
告别多应用切换:Chrome QRCode让二维码处理效率提升300% 【免费下载链接】chrome-qrcode chrome-qrcode - 一个 Chrome 浏览器插件,可以生成当前 URL 或选中文本的二维码,或解码网页上的二维码。 项目地址: https://gitcode.com/gh_mirrors…...
three.ar.js 终极入门指南:10分钟快速上手 WebAR 开发
three.ar.js 终极入门指南:10分钟快速上手 WebAR 开发 【免费下载链接】three.ar.js A helper three.js library for building AR web experiences that run in WebARonARKit and WebARonARCore 项目地址: https://gitcode.com/gh_mirrors/th/three.ar.js th…...
OpenClaw+SecGPT-14B:个人安全实验室自动化搭建全指南
OpenClawSecGPT-14B:个人安全实验室自动化搭建全指南 1. 为什么需要自动化安全实验室 作为一名长期从事安全研究的工程师,我深刻体会到传统手工分析的低效与局限。每次分析新样本时,都需要重复搭建环境、配置工具、收集威胁情报,…...
Qwen2.5-14B-Instruct部署案例:高校戏剧系用像素剧本圣殿教学实践
Qwen2.5-14B-Instruct部署案例:高校戏剧系用像素剧本圣殿教学实践 1. 项目背景与价值 在戏剧创作教学中,传统剧本创作方式面临诸多挑战:学生创意受限、格式不规范、修改成本高。某高校戏剧系引入基于Qwen2.5-14B-Instruct深度优化的"像…...
【29】软考软件设计师——SQL语句编写与优化深度精讲|数据库大题延伸满分攻略
摘要:本文是《软件设计师50讲通关|从零基础到工程师职称》专栏第29篇,承接第28篇ER图转关系模式核心内容,作为下午第2题数据库大题核心延伸必考模块,单模块累计占分5~8分,是数据库板块性价比极高的提分重点。全文超4000字深度拆解软考全部SQL高频考点:全覆盖多表连接底层…...
NaViL-9B多模态实战:社交媒体长图理解+争议点识别+评论生成
NaViL-9B多模态实战:社交媒体长图理解争议点识别评论生成 1. 平台简介 NaViL-9B是上海人工智能实验室研发的原生多模态大语言模型,具备强大的文本理解和图像分析能力。与单一模态模型不同,NaViL-9B能够同时处理文字和图片输入,实…...
OpenClaw跨平台控制:千问3.5-9B远程操作家中电脑
OpenClaw跨平台控制:千问3.5-9B远程操作家中电脑 1. 为什么需要远程控制家中电脑? 去年冬天的一个深夜,我正躺在异地酒店的床上,突然想起家里电脑上还有个未完成的报表需要提交。如果按照传统方式,我可能需要麻烦家人…...
