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

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"就是两行换行进行隔离

这就是一个经典的例子

下面是几个请求方法不同

  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.lryc.cn/news/513448.html

相关文章:

  • 数据库的概念和操作
  • 《XML Schema 字符串数据类型》
  • idea 开发Gradle 项目
  • Keepalived + LVS 搭建高可用负载均衡及支持 Websocket 长连接
  • 产品经理2025年展望
  • 【信息系统项目管理师】第14章:项目沟通管理过程详解
  • 串口DMA接收数据基本思路
  • 数据结构复习 (二叉查找树,高度平衡树AVL)
  • FreeSWITCH 简单图形化界面39 - Windows安装FreeSWITCH For IPPBX(WSL环境)
  • uniapp - 小程序实现摄像头拍照 + 水印绘制 + 反转摄像头 + 拍之前显示时间+地点 + 图片上传到阿里云服务器
  • Qt天气预报系统设计界面布局第四部分左边
  • VS无法找到低版本的.net,vs2022创建不了.net6的项目
  • C++软件设计模式之解释器模式
  • 小程序发版后,用户使用时,强制更新为最新版本
  • 如何使用AI工具cursor(内置ChatGPT 4o+claude-3.5)
  • 说说缓存使用的具体场景都有哪些?缓存和数据库一致性问题该如何解决?缓存使用常见问题有哪些?
  • 2025-01-01 NO2. XRHands 介绍
  • Java开发-后端请求成功,前端显示失败
  • 未来20年在大语言模型相关研究方向--大语言模型的优化与改进
  • [react] 纯组件优化子
  • 美观强大的文件保险库Chibisafe
  • 详细教程:SQL2008数据库备份与还原全流程!
  • HTML——49.header和footer标签
  • 【蓝桥杯选拔赛真题87】python输出字符串 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析
  • OpenStack-Dashboard界面简单修改
  • DevOps工程技术价值流:Ansible自动化与Semaphore集成
  • 【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地
  • 第四届电子信息工程与数据处理(EIEDP 2025)
  • 模型预测控制(MPC)算法介绍
  • 设计模式 创建型 建造者模式(Builder Pattern)与 常见技术框架应用 解析