HCIA—— 31 HTTP的报文、请求响应报文、方法、URI和URL

embedded/2025/4/2 5:52:19/

学习目标:

  •  HTTP的报文、请求响应报文、方法、URI和URL

学习内容:

  1. HTTP报文——请求报文和响应报文;HTTP报文结构
  2. HTTP的---请求报文首部和响应报文首部
  3. 方法
  4. URI和URL

目录


 1.HTTP报文

1)HTTP的报文——请求报文和响应报文

https://i-blog.csdnimg.cn/blog_migrate/a8e7040e7a44d5e506ac747d74cdc50f.png" width="256" />

  • HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。对于客户端用户来说,这些信息中的大部分内容都无须亲自查看。
  • 报文首部由几个字段构成。

HTTP报文结构
报文首部——
服务器端或客户端需处理的请求或响应的内容及属性
空行(CR+LF)

报文主体——数据
 
HTTP的相关

必定是一端担任客户端角色,另一端担任服务器端角色。

客户端和服务器只是标记,可以交换

请求必定由客户端发出,而服务器端回复响应

HTTP报文——必有报文首部,不一定有报文主体

首部内容为客户端和服务器分别处理请求和响应提供所需要的信息
报文首部由字段构成

 2)HTTP的请求报文首部和响应报文首部

HTTP请求报文的格式主要由三部分组成:请求行、请求头部和请求体。

  1. 请求行:包含HTTP方法、请求的URI和HTTP协议的版本。例如,GET /index.html HTTP/1.1。
  2. 请求头部:包含一些键值对,用冒号分隔。这些键值对提供了关于请求的附加信息,例如User-Agent、Accept、Host等。例如,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36。
  3. 请求体:包含发送给服务器的数据。例如,在POST请求中,请求体可能包含表单数据或JSON数据。

以下是一个更详细的例子:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9

在这个例子中,用户通过GET方法请求www.example.com的index.html页面。使用的User-Agent表明这是一个来自Windows 10、64位架构的浏览器中Chrome 58版本。用户接受的媒体类型有HTML、XHTML+XML、XML、WebP图像和APNG,以及所有其他类型的媒体。 最后,Accept-EncodingAccept-Language分别表示客户端支持的内容编码和语言。在这个例子中,客户端支持gzip、deflate和br压缩,以及英语(美国)和英语(世界)。

https://i-blog.csdnimg.cn/blog_migrate/879b2694d7efb5e1fbd009739825a1a4.png" width="283" />

https://i-blog.csdnimg.cn/blog_migrate/2f141a2cd763a330d10363738295a509.png" width="286" />

 除此之外,如果不是访问特定资源而是对服务器本身发起请求,可以用一个*来代替请求URI。下面这个例子是查询HTTP服务器端支持的 HTTP 方法种类。

OPTIONS * HTTP/1.1

首部字段——请求/响应首部字段、通用字段、实体字段

请求报文

请求行——方法、URI、协议版本
请求首部字段——在首部字段 Host中写明网络域名或IP地址
通用首部字段
实体首部字段
其他——cookie等等
空行(CR+LF)
报文主体——数据——可以没有

响应报文
响应行——状态码的原因短语、协议版本、状态码
请求首部字段——
通用首部字段
实体首部字段
其他——cookie等等
空行(CR+LF)
报文主体——数据——可以没有

3)方法

https://i-blog.csdnimg.cn/blog_migrate/6ff24200f64b2b043d639b4d30e69fb9.png" width="607" />

方法
GET——获取资源,
POST
PUT
HEAD
DELETE
OPTIONS
TRACE
CONNECT
LINK
UNLINE

4)URI和URL

END…………


学习时间:

上课时


学习产出:

  • 技术笔记 1遍
  • 有错误请指出,作者会及时改正

https://i-blog.csdnimg.cn/blog_migrate/57e7e50472453ac73d62cb79614dac8d.png" width="15" />

https://i-blog.csdnimg.cn/blog_migrate/30ffc8c76f4891653aea0af51d588386.png" width="31" />


http://www.ppmy.cn/embedded/178194.html

相关文章

Fegin 400错误分析

问题描述 使用Fegin进行远程接口调用出现400的错误,但是使用postman或curl命令进行接口访问却没有任何问题。 问题分析 根据Fegin调用失败,而postman直接访问会出现400错误。而400错误一般都是客户端错误,因此对方服务器接口应该是没有任何问题,可通过开启日志看看Feign…

J2EE框架技术 第四章 J2EE的IOC

序:本章将叙述在项目完成完成基本的增删改查后,融入了项目的重要思想之一,控制翻转。其主要目的是为了降低程序的耦合性,使项目使用起来更加灵活。 第一节:IOC的概念 一、什么是IOC? 概念: Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思…

LangChain4j 入门(二)

LangChain 整合 SpringBoot 下述代码均使用 阿里云百炼平台 提供的模型。 创建项目&#xff0c;引入依赖 通过 IDEA 创建 SpringBoot 项目&#xff0c;并引入 Spring Web 依赖&#xff0c;SpringBoot 推荐使用 3.x 版本。 引入 LangChain4j 和 WebFlux 依赖 <!--阿里云 D…

鸿蒙学习手册(HarmonyOSNext_API16)_数据持久化②:键值型数据库

概述 键值型数据库就像一个大抽屉柜&#xff0c;每个抽屉都有一个唯一的标签&#xff08;键&#xff09;&#xff0c;里面可以放任何东西&#xff08;值&#xff09;。当你需要存或取东西时&#xff0c;直接看标签拿对应的抽屉就行&#xff0c;不用管其他抽屉里有什么。这种简…

C++ STL常用算法之常用排序算法

常用排序算法 学习目标&#xff1a; 掌握常用的排序算法。 算法简介&#xff1a; sort //对容器内元素进行排序 random_shuffle //洗牌&#xff0c;指定范围内的元素随机调整次序 merge //容器元素合并&#xff0c;并存储到另一容器中 reverse //反转指定范围的元素 so…

[Linux]解决虚拟机 ubantu系统下网络的问题

问题来源&#xff1a;打开ubantu发现网络连接标识消失 解决步骤&#xff1a; 重新安装&#xff0c;前面操作无效 切换桥接模式、直连手机网络 已解决&#xff1a;

OpenCV基础——轮廓检测、模板匹配、图像均衡化

接上期继续归纳&#xff1a; OpenCV基础——梯度计算、边缘检测、图像金字塔-CSDN博客 一.轮廓检测 1.实现 从边界中找出整体的、连在一起的轮廓~ cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE) mode参数为轮廓检索模式&#xff0c;这里一般选择下面的第四…

uniapp选择文件使用formData格式提交数据

1. Vue实现 在vue项目中,我们有个文件,和一些其他字段数据需要提交的时候,我们都是使用axios 设置请求头中的Content-Type: multipart/form-data,然后new FormData的方式来进行提交。方式如下: const sendRequest = () => {const formData = new FormData()formData…