Http协议

一、什么是Http协议

http协议指的是超文本传输协议,是java中一种非常重要的协议,它不仅仅能传输文字数据,还能传输图片,音频等。在Http3.0版本前,依赖的主要是TCP协议,但是因为这个协议他会有阻塞,导致发送效率大打折扣,所以自这里之后,后续就变成了UDP为主

二、常见的场景

像我们web开发中,网页前端和后端之间的通信,移动端和后端之间的通信都用到这个http传输

三、Http工作过程

它这个传输过程是一个典型的一问一答的模型,就像下面这个图

四、抓包

这个指的是在http传输过程,通过某个软件进行,获取请求和响应信息,关系如下图

我们后期会通过这种方法来确定bug是来自后端还是前端的,这里我们使用的抓包工具是Fiddler

当我们打开之后,Fiddler就会开始抓包,其中,左边的是代表抓取到的数据,而右边则是请求和响应的数据的详情

这个是请求的格式,在请求行下面的请求报头是以键值对的格式来显示的,当空行过后,下面的就是正文,但正文不一定会有,像登录时就有可能会有正文。响应的格式也是如此,我这里就省略了

五、URL

这个是就是我们俗称的网址,它用来标识一个网络上的资源位置,下图是一个完整的url,接下来,我以这个为例进行讲解

首先,登录信息这个现在基本上见不到了,因为我们一般都以短信,微信的方式进行替代了,服务器地址这里是ip地址,更常见的是域名。在这里后面,我们会加上服务器的端口号,以冒号隔开,不过你可能会发现,有些url没有端口号为什么也可以的,那是因为浏览器给http一个默认的端口号80,https默认端口号443,所以便可以省略。而带层次的文件路径可以理解为服务器里面的目录结构,就像电脑里文件的目录结构,例如:"C:\Users\lenovo\.m2"。问号后面则是查询字符串,它的格式是键值对,通过&进行分割开来。片段标识符则是用来区分在同一个页面,不同的部分

值得注意的是,当你的queryString里面包含特殊符号,他会进行转义成ASCLL码

,防止浏览器无法解析

六、认识方法Method

以下都是方法的请求,它表示这个请求要做什么动作,一般我们用的最多是post,get,put和delete

GET

先说get,我们一般80%的情况都是用这个,他表示从服务器获取某个资源

POST

其次是post,这个表示的是对服务器进行上传某个资源

PUT

这个类似post,也是上传某个资源到服务器

DELETE

这个是删除服务器的某个资源

不过,话说回来,这个其实并没有硬性规定,所以也就是说,实际开发中可以不遵循这个规则。

七、认识报头

host

这个表示的是服务器主机和端口

Content-Length

这个是body中数据的长度,单位为是字节

Content-Type

这个是表示请求body中数据格式,这个和上面的Cintent-Length是要搭配着body同时出现的。并且他们可能会同时出现,出现在响应或请求中

他常见的格式是text/html,text/css,application/JavaScript,application/json等

User-Agent

表示浏览器/操作系统的属性. 形如:

复制代码
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 Edg/146.0.0.0

其中Mozilla这个对应着的是Firefox这个浏览器,后面的window这表示我当前电脑的属性,再后面的Chrome那表示的是浏览器的版本

refer

这个表示这个页面是从哪个页面跳转过来的,在日常中可以用于广告系统,像某网站内含有一个广告,当用户点进这个广告时,refer则能显示是从哪个网站点入,从而让哪个网站获得对应的收入。但是http中的refer是能被劫持,修改的

这是浏览器这端本地存储数据的一种机制,简单的讲就是你的电脑会给你的浏览器在你的硬盘上创建一个存储数据的地方(因为网页js不能直接访问硬盘),然后cookie就是存到这个地方。然后,cookie是按照键值对的格式进行构造,并且如何构造取决于程序员

并且它会根据每个域名维度进行划分,每个域名下都有自己的cookie。

如果还是不太懂得话可以看看下图的流图进行理解

相关推荐
andxe9 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
shiyi.十一10 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
DFT计算杂谈10 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
水境传感 李兆栋10 小时前
GNSS 位移监测站 :毫米级感知,筑牢安全监测防线
网络
中微极客12 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
猿的天空16 小时前
机器人双手迎来全栈训练系统:灵初智能EgoSteer让灵巧手无所不能
网络·人工智能·计算机·ai·程序员·机器人·编程
Xzaveir_77716 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
wuqingshun31415916 小时前
从网络角度来看,用户从输入网址到网页显示,期间发生了什么?
网络
牛马工作号17 小时前
Zigbee 专业详解:从协议到排障
网络·物联网·安全
牛马工作号17 小时前
Wi‑Fi 完全指南:从 802.11 协议到 Wi‑Fi 7、AC+AP 与 Mesh 工程组网
网络·网络协议·智能路由器