论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
Linux架构篇、第1章_01架构的先容HTTP HTTPS 协议全面解 ...
Linux架构篇、第1章_01架构的先容HTTP HTTPS 协议全面解析 ...
罪恶克星
论坛元老
|
2025-5-6 22:36:26
|
显示全部楼层
|
阅读模式
楼主
主题
1922
|
帖子
1922
|
积分
5766
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
标题:HTTP/HTTPS 协议全面解析:原理、区别与状态码详解
版本号
: 1.0,0
作者
: @老王要学习
日期
: 2025.04.30
实用环境
: 服务器
文档阐明
本文围绕 HTTP/HTTPS 协议睁开,详细先容了协议的根本概念、工作原理、两者之间的区别以及常见的状态码。旨在帮助读者深入明白 HTTP/HTTPS 协议,为网络开发和应用提供理论支持
一、HTTP/HTTPS先容
HTTP
超文本传输协议是( Hyper Text Transfer Protocol)的缩写,是互联网应用最广泛的一种网络协议,用于万维网服务器传输超文本到本地浏览器,基于TCP/IP通讯协议来通报数据(HTML、图片、查询结果);默认使用端口80
TCP:(传输控制协议)
可靠性
:TCP为HTTP提供了可靠的传输机制;通过序列号、确认应答、重传机制等确保数据准确无误的从客户端传送到服务器,或从服务器传回客户端
毗连管理
:HTTP通讯开始前,TCP会在客户端和服务器之间毗连“三次握手”;通讯结束后,还会通过“四次挥手”关闭毗连,保障通讯的有序举行
三次握手(建立毗连)
第一次握手:客户端向服务器发送一个带有SYN(同步序列号)标记的TCP报文段,此时客户端进入等待状态,表示毗连请求已发送
第二次握手:服务器收到客户端的SYN报文,向客户端发送SYN+ACK报文段(SYN同步服务器序列号、ACK标记确认收到SYN)随后进入等待客户端查收状态
第三次握手:客户端收到服务器的SYN+ACK,向服务器发送一个ACK报文段;双方进入活动状态,标识毗连成功,双方开始举行数据传输
举例:
三次握手(建立毗连)
第一次握手:比如你要去朋友家借书,你先给朋友打电话说:“我想去你家借本书,你在家不?” 这就是客户端(你)向服务器(朋友)发送带有 SYN 标记的请求,里面带着你这边的一个随机编号(就像你打电话用的电话号码) 。这时你在等朋友复兴,处于 “等待复兴” 状态。
第二次握手:朋友接到电话后说:“我在家呢,你来吧,我也给你准备了一本我以为不错的书推荐给你。” 这相当于服务器复兴了一个带 SYN 和 ACK 标记的消息,朋友告诉了你他本身的 “编号”(他的电话号码 ),还确认收到了你的请求(表示知道你要来借书 )。朋友进入 “等你出发” 状态。
第三次握手:你听到朋友这么说,就复兴:“好嘞,我这就出发!” 这就是客户端再发一个 ACK 消息确认收到朋友的复兴,告诉朋友你收到他准备推荐书的消息了。这时你和朋友都准备好,可以举行借书这个 “数据传输” 活动了,毗连就建立成功啦。
四次挥手:(关闭毗连)
第一次挥手:客户端发送一个带有FIN(结束标记)的TCP报文段,表示本身不再发送数据了,但依可以接收数据,客户端进入’等待服务器复兴’状态
第二次挥手:服务器收到FIN报文后,发送一个ACK报文段,确认客户端确定要断开毗连,客户端不会再发送数据,但服务器仍然可以继续发送数据
第三次挥手:服务器也没有数据要发送时,向客户端发送一个FIN报文段,表示本身不再发送数据了;服务器进入“等待客户端断开”状态
第四次挥手:客户端收到服务器的FIN报文后,客户端再向服务器发送一个ACK报文段,客户端进入“确认离开等待”状态,等待2倍最大段生存期(MSL)时间后,彻底关闭毗连;服务器收到这个ACK报文后,立即关闭毗连
举例:
第一次挥手:你在朋友家借完书,准备走了,就跟朋友说:“我书借到啦,我准备回家啦!” 这就是客户端(你)向服务器(朋友)发送带 FIN 标记的消息,表示你不再借新的书(不再发送数据),但还能听朋友语言(接收数据),你进入 “等朋友回应” 状态
第二次挥手:朋友听到你说要走,就复兴:“好的,我知道啦。” 这是服务器给你发一个 ACK 消息确认收到你要走的消息,朋友进入 “准备结束交流” 状态,你收到复兴后进入 “等朋友也结束交流” 状态。这时朋友可能还有话跟你说,以是还能继续语言(发送数据)
第三次挥手:朋友说完想说的话,也跟你说:“我也没别的事儿啦,你路上注意安全!” 这是服务器给你发带 FIN 标记的消息,表示他也没什么要说的了(不再发送数据),朋友进入 “等你确认离开” 状态
第四次挥手:你听到朋友这么说,就回应:“行,我知道啦,拜拜!” 这是你给朋友发 ACK 消息确认收到他的告别,你进入 “确认离开等待” 状态,等一会儿确保没问题后就彻底离开朋友家(关闭毗连)。朋友收到你的复兴后,也关闭和你的交流(关闭毗连)
IP:(网际协议)
IP负责在网络中寻址和路由数据包;它确定数据从源地址到目标地址的传输路径,为HTTP请求与响应找到精确的传输路径
HTTPS
安装超文本传输协议是(HyperText Transfer Protocol Secure)的缩写,在HTTP底子上加入SSL/TLS加密层,保障网络通讯安全,防止数据在传输过程中被偷取、窜改,同时对服务器举行身份验证;默认使用端口443
SSL/TLS:
SSL及其继任者TLS是实现加密通讯的关键;通讯前客户端与服务器通过SSL/TLS握手协议加密算法、密钥等参数,之后的数据传输就会在这些规则下举行
二、HTTP/HTTPS原理
HTTP
建立毗连
:客户端向服务器发送一个TCP毗连请求,服务器接受毗连后。双发开始传输数据
发送请求
:客户端按照 HTTP协议的格式,构造一个请求消息,包括请求方法(GET、POST)、请求路径、协议版本等可能的请求和请求体信息,将请求消息发送给服务器
处理请求
:服务器收到请求后,根据请求的内容举行处理;解析客户端发来的信息,根据请求路径找到对应的资源与步调
发送响应
:服务器处理结果按HTTP协议的格式封装成一个响应消息,包括响应状态码(200成功,404未找到)响应头与响应体等,将响应消息发送给客户端
关闭毗连
:客户端收到响应后,根据响应状态码与内容举行处理,当不需要继续和服务器通讯,就会关闭TCP毗连
HTTPS
SSL/TLS 握手
:(四次握手)
第一次握手
:客户端向服务器发送 “Client Hello”,告知本身支持的 SSL/TLS 版本、加密算法等信息,并给出一个随机数
第二次握手
:服务器复兴 “Server Hello”,确定使用的版本和算法,也给出一个随机数,同时发送本身的数字证书,可能还会请求客户端的证书
第三次握手
:客户端验证服务器证书,生成一个特殊随机数并用服务器公钥加密发送,然后计算出会话密钥,关照服务器使用新密钥加密,并发送一个加密的 “Finished” 消息
第四次握手
:服务器解密得到随机数并算出会话密钥,关照客户端使用新密钥,也发送一个加密的 “Finished” 消息,让客户端验证密钥是否精确
数据传输
:握手完成后,客户端和服务器就可以使用会话密钥对数据举行加密传输。客户端将请求数据加密后发送给服务器,服务器收到后解密并处理请求,然后将响应数据加密发送给客户端,客户端再解密得到响应内容
毗连关闭
:当数据传输完成后,客户端或服务器可以发起关闭毗连的请求,双方按照肯定的步调关闭 SSL/TLS 毗连和底层的 TCP 毗连
三、HTTP/HTTPS区别
3.1安全性
HTTP
HTTP以明文传输数据,传输中易被黑客偷取、窜改和监听,用户登录时用户名和密码有被偷取风险
HTTPS
对数据加密,传输时为密文,仅合法接收能够解密的数据,借助数字认证书验证服务器身份,可有效防止数据被窃改,避免中央人攻击,大幅提升了数据安全性
3.2毗连方式
HTTP
毗连简朴,客户端向服务器发送请求,服务器响应请求后毗连即结束
HTTPS
毗连时需要先辈行SSL/TLS握手,以验证服务器身份、协商加密算法和生成加密密钥等,握手成功后才会举行数据传输
3.3端口
HTTP
默认使用80端口举行数据传输
HTTPS
默认使用443端口举行数据传输
3.4证书
HTTP
不需要数字证书来验证身份
HTTPS
要求服务器拥有由权威机构颁发的数字证书,客户端可以通过验证证书来确定服务器的身份是否可信
3.5性能
HTTP
因为没有加密息争密的过程,以是性能相对较高,响应速度较快
HTTPS
因为需要举行加密息争密操作,以及SSL/TLS握手,以是消耗肯定性能和时间,导致访问速度相对较慢;不过,随着现代科技的飞速发展,性能差别在大多情况下并不明显
3.6兼容性
HTTP
兼容性较好,险些以是的浏览器和设备都支持HTTP协议
HTTPS
虽然如今大多数浏览器和设备都支持HTTPS,但是一些旧设备和特殊环境,可能会存在兼容性的问题
3.7本钱
HTTP
运行本钱较低,不需要购买和维护数字证书
HTTPS
需要购买数字证书,证书的代价因证书范例和颁发机构而异
四、HTTP/HTTPS状态码
4.1信息性状态码
状态码功能100客户端继续提交剩余请求101协议切换请求已受理
4.2成功状态码
状态码功能200请求成功201上传文件成功202接受请求但未处理完毕203请求成功,但信息不肯定准确204请求成功,但无返回内容205请求成功,但要求重置请求内容206范围请求成功
4.3重定向状态码
状态码功能301资源永久迁移,需更新访问地址302资源临时转移,后续仍可用原地址304资源未变更,可直接使用缓存
4.4客户端错误状态码
状态码功能400请求格式错误401身份认证失败403权限不足禁止访问404资源不存在
4.5服务器错误状态码
状态码功能500服务器内部错误502上游服务器响应异常503服务器临时不可用
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
罪恶克星
论坛元老
这个人很懒什么都没写!
楼主热帖
2. 函数
从Android开发的角度比较MVC,MVP,MVVM ...
京东张政:内容理解在广告场景下的实践 ...
KAFKA EAGLE 监控MRS kafka之操作实践 ...
关键字和标识符
HCIA学习笔记十一:ARP地址解析协议 ...
React技术栈 --》plugin与JSX语法使用 ...
dotnet 6 为什么网络请求不跟随系统网 ...
数字图像增强的一般方法
Vue前后台数据交互实例演示,使用axios ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表