http和https区别与上网过程

1.概念

HTTP和HTTPS是两种常用于Web浏览器和网站服务器之间信息传递的协议。HTTP在传输数据时使用的是明文,而HTTPS则是在HTTP的基础上增加了SSL/TLS加密层,提供了数据的加密传输。

HTTP(超文本传输协议):是一个基于TCP/IP通信协议来传递数据的协议。它通常运行在TCP协议之上,由统一资源标识符(Uniform Resource Identifiers, URI 包含 URL 和 URN)标识。HTTP是一种无状态协议,不保存客户端和服务器之间的交互状态。

HTTPS(安全超文本传输协议):是以安全为目标的HTTP通道,简单讲是HTTP的安全版。通过SSL或TLS进行加密。它的主要目的是提供对网站服务器的身份认证,并保护交换数据的隐私与完整性。

2.上网过程

具体到上网过程,HTTP和HTTPS的工作流程如下:

  1. 建立连接:用户在浏览器中输入URL,发起一个到服务器的连接请求。对于HTTPS来说,接下来的步骤会多出一个SSL/TLS握手过程,用以协商加密细节并验证服务器身份。

  2. 发送请求:浏览器向服务器发送HTTP请求,包括请求行、请求头、空行和请求体等部分。对于HTTPS,这一步骤中的请求数据会被加密。

  3. 服务器处理请求:服务器接收到请求后,对其进行解析处理,然后准备响应数据。

  4. 返回响应:服务器将响应数据发送回浏览器,包括状态行、响应头、空行和响应体等部分。对于HTTPS,响应数据同样会被加密。

  5. 浏览器解析渲染:浏览器收到响应后,对HTML内容进行解析,构建DOM树,加载相关资源,最终渲染出网页给用户。

综上所述,HTTP和HTTPS的主要区别在于是否对传输的数据进行加密,以及是否存在一个SSL/TLS的握手阶段。使用HTTPS可以有效防止中间人攻击,保护用户的隐私和敏感数据。

相关推荐
hashiqimiya41 分钟前
配置tcp的https协议证书
网络·tcp/ip·https
闲坐含香咀翠1 小时前
记一次交互优化:从根源上解决Axios请求竞态问题
前端·http·浏览器
向宇it1 小时前
【unity游戏开发——网络】网络游戏通信方案——强联网游戏(Socket长连接)、 弱联网游戏(HTTP短连接)
网络·http·游戏·unity·c#·编辑器·游戏引擎
WooaiJava1 小时前
多个参数用websocket 向io 服务器发送变量,一次发一个,并接收响应
网络·websocket·网络协议
轻语呢喃1 小时前
Cookie详解:从原理到实战,彻底搞懂用户身份识别机制
javascript·http·html
DemonAvenger1 小时前
Go网络编程基础:网络模型与协议栈概述
网络协议·架构·go
2501_916007472 小时前
iOS 接口频繁请求导致流量激增?抓包分析定位与修复全流程
websocket·网络协议·tcp/ip·http·网络安全·https·udp
Net_Walke2 小时前
【网络协议】WebSocket简介
网络·websocket·网络协议
2501_916013743 小时前
用Fiddler中文版抓包工具掌控微服务架构中的接口调试:联合Postman与Charles的高效实践
websocket·网络协议·tcp/ip·http·网络安全·https·udp
qq_4924484463 小时前
Java 访问HTTP,信任所有证书,解决SSL报错问题
java·http·ssl