八股训练营第 6 天 | HTTPS 和HTTP 有哪些区别?HTTPS的工作原理(HTTPS建立连接的过程)?TCP和UDP的区别?

HTTPS和HTTP有哪些区别

  • HTTP 在 TCP 三次握手建立连接后即可发送报文,HTTPS 在 TCP 三次握手建立连接后还需要进行 SSL/TLS 的连接。
  • HTTP 的传输是明文传输,而 HTTPS 的传输是密文传输,安全性更高。
  • HTTP 的端口是 80,HTTPS 的端口是 443。
  • HTTPS 需要向 CA 申请证书,确保服务器身份的可信性。

HTTPS的工作原理(HTTPS建立连接的过程)

  • 客户端向服务器发送 HTTPS 请求后,服务器会把自己的公钥证书发给客户端。
  • 客户端会检验服务器的证书是否由收信任的证书机构颁发,并检查证书的有效期。
  • 当客户端确认证书有效后,会随机生成一个对称加密密钥,用服务器的公钥进行加密,发送给服务器。
  • 服务器收到加密后的密钥后,用自己的私钥解密,从而得到对称密钥。
  • 以后的数据传输就由这个对称密钥进行加解密
  • TLS 还具有完整性检验机制,会检验传输的数据是否被篡改过。
  • 当传输完成后,对称密钥会被销毁,确保不留下痕迹。

TCP和UDP的区别

  • TCP 是面向连接的,传输数据前需要先建立连接;UDP 是无连接的,不需要先建立连接。
  • TCP 是可靠的,保证数据包的顺序性和完整性;UDP 是不可靠的,不保证数据包的顺序性和完整性。
  • TCP 具有拥塞控制机制,能根据网络状况调节数据传输速率;UDP 不具有拥塞控制。
  • TCP 能通过滑动窗口机制进行流量控制,避免服务器接收不下的情况;UDP 不具有流量控制。
  • TCP 能检验超时或损坏的数据包并进行重传;UDP 不具有此特性。
  • TCP 的报文头比较复杂;UDP 的报文头比较简单。
  • TCP 由于其建立连接、数据校验等机制,性能开销比较大;UDP 性能开销比较小。
  • TCP 的适用场景:对可靠性要求高的场景,如网页浏览,文件传输;UDP 的适用场景:对可靠性要求不那么高的场景,如语音通话、视频会议。
相关推荐
郝学胜-神的一滴5 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
胖咕噜的稞达鸭5 小时前
网络基础:初识TCP/IP协议
网络·网络协议·tcp/ip
惊讶的猫6 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
心.c7 小时前
TCP协议深入解析
网络·网络协议·tcp/ip
摇滚侠7 小时前
HTTP 404 - No response body available
网络·网络协议·http
全栈工程师修炼指南7 小时前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
Trouvaille ~7 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
CSCN新手听安7 小时前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
tzy23310 小时前
极简版本的 TCP / IP 协议栈介绍
网络·网络协议·tcp/ip