【Web】https 与 http 的区别

文章目录

一、基本概念

http :超文本传输协议,一种网络传输协议,一个客户端和服务器请求和应答的标准(TCP)。
https :简单讲就是在http基础上 使用 SSLTLS 对请求和响应进行加密,建立一个信息安全通道。

  • https 工作原理:
js 复制代码
1. 客户端使用 https url 访问服务器,要求与 web 服务器建立 ssl 连接
2. web 服务器接收到客户端的请求之后,会将网站的数字证书(包含了公钥),传送一份给客户端
3. 客户端的浏览器和web服务器端,开始协商ssl/tls链接的安全等级,也就是加密等级。
4. 协商一致后,客户端的浏览器建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
5. 然后 web 服务器通过自己的私钥解密出会话密钥
6. 最后 web 服务器再通过会话密钥加密与客户端之间的通信
  • http 缺点:
js 复制代码
1. 通信使用明文,内容可能会被窃听。
2. 不验证通信方的身份,因此有可能遭遇伪装。
3. 无法证明报文的完整性,所以有可能已遭篡改。
  • https 优势:使得 http 协议可认证用户和服务器,确保真实数据发送到正确的客户机和服务器上,并且有助于防止未经授权访问敏感数据。

二、区别对比

  1. 加密:
    https 由 http 和 ssl(或 tls) 协议构建的可进行加密传输和身份认证的网络协议,因此拦截通信的任何人只能看到随机字符串,而不是明文,比 http 协议的安全性更高,而 http 传输的数据读书未加密的的,也就是明文的。
  2. 证书:
    当 web 浏览器通过 https 链接到 web 服务器时,服务器会向浏览器发送数字证书(ca 证书,费用较高)。该证书包含特定与服务器的信息,包含服务器的公钥。浏览器随后使用此证书与服务器建立安全链接
  3. 端口号:
    一般而言,http 协议的端口为 80,https 的端口为 443。访问网址时,http 的 url 开头为 http://,https 的 url 开头为 https://
相关推荐
mit6.8242 小时前
[实现Rpc] 通信类抽象层 | function | using | 解耦合设计思想
c++·网络协议·rpc
是小崔啊3 小时前
java网络编程02 - HTTP、HTTPS详解
java·网络·http
卷心菜不卷Iris5 小时前
第1章大型互联网公司的基础架构——1.6 RPC服务
网络·网络协议·微服务·rpc·http协议·rpc协议
Blasit5 小时前
C++ Qt建立一个HTTP服务器
服务器·开发语言·c++·qt·http
是纯一呀7 小时前
WebSocket(WS)协议系列(一)基本概念
网络·websocket·网络协议
zhj16953697 小时前
手写简易RPC(实践版)
java·网络·网络协议·rpc
2301_793069827 小时前
HTTP 和RESTful API 基础,答疑
网络协议·http·api·restful
hvinsion8 小时前
深入解析TLS协议:保障网络通信安全的关键技术
网络协议·安全·网络安全
千舟10 小时前
自己动手编写tcp/ip协议栈4:tcp数据传输和四次挥手
网络协议·go
大熊程序猿11 小时前
netcore https配置
网络协议·http·https