简述http和https(简介+连接流程+优缺点)

文章目录

  • 一、HTTP
      • 1.什么是http
      • 2.http的连接流程
      • 3.http的优点和缺点
  • 二、HTTPS
      • 1.什么是https
      • 2.https的连接流程
      • 3.https的优点的缺点
  • 总结


一、HTTP

1.什么是http

http全称为Hypertext Transfer Protocol,顾名思义就是超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议,浏览器和网站服务器依靠这个协议对html页面以及相应的资源进行传输,默认的端口号为80,例如我们在本机上进行前端开发的时候,默认地址为http://localhost:3000(当然是指没有配置https证书和设置host域名上)

2.http的连接流程

(1)DNS解析服务器域名ip
当用户在浏览器中输入一个网址,浏览器会向本地DNS服务器发送一个DNS查询请求,询问该域名对应的IP地址。
(2)通过TCP三次握手建立连接
浏览器会向服务器发送一个SYN(同步)包,服务器收到后会返回一个SYN-ACK(同步-确认)包,最后浏览器再发送一个ACK(确认)包,完成TCP三次握手,建立了可靠的连接。
(3)发送请求报文进行http请求
请求报文由请求行、请求头和请求体组成。请求行包含请求方法(如GET、POST)、请求的URL和HTTP协议版本。请求头包含一些附加的信息,如用户代理、cookie等。请求体包含要发送给服务器的数据,如表单数据、文件等,一般通过ajax由前端发送http请求
(4)处理请求返回响应
服务器收到HTTP请求后,会根据请求的URL和其他信息进行处理。处理的过程可能包括查询数据库、生成动态内容、读取文件等。一旦处理完成,服务器会生成一个HTTP响应,包含响应行、响应头和响应体。响应行包含状态码(如200表示成功、404表示未找到等)、HTTP协议版本等。响应头包含一些附加的信息,如服务器类型、内容类型等。响应体包含要发送给浏览器的数据,如HTML页面、图片、视频等。
(5)客户端渲染html等资源
根据响应的内容类型进行解析和渲染,通过html,css,javascript等渲染到浏览器用户界面
简述http和https(简介+连接流程+优缺点)_第1张图片

3.http的优点和缺点

优点:页面响应速度快,性能较高,不涉及加密和认证等复杂的过程传输速度更快,减少了服务器的负载和开销。
缺点:明文传输,数据都是未加密的,安全性较差,请求报文和响应报文容易遭到劫持造成数据泄露篡改,对于安全性需求较高的网站,使用http协议有安全风险

二、HTTPS

1.什么是https

https的全称为Hypertext Transfer Protocol Secure,即超文本传输安全协议,是HTTP的安全版本。它使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议对数据进行加密,确保数据在传输过程中的安全性和完整性,默认端口号为443,目前大多数网站都是使用https协议,对用户数据隐私有着可靠保护

2.https的连接流程

(1)DNS解析服务器域名ip
(2)进行TCP三次握手
(3)进行SSL握手建立加密通道https连接安全性的重要环节

  • 客户端向服务器发送一个SSL连接请求。
  • 服务器回应客户端的请求,并返回服务器的数字证书,以及服务器的公钥。
  • 客户端验证服务器的数字证书的合法性和有效性。这包括检查证书的签名、有效期和颁发机构等。
  • 客户端生成一个随机的对称密钥,并使用服务器的公钥对其进行加密,然后将加密后的密钥发送给服务器。
  • 服务器使用自己的私钥解密客户端发送的密钥,并获得对称密钥。
  • 客户端和服务器使用对称密钥进行加密和解密通信内容,确保通信的机密性和完整性。
  • 握手完成后,双方通过加密通道进行数据的传输。

(4)发送https请求和响应
建立加密通道后,客户端可以像HTTP一样发送HTTP请求,服务器也可以像HTTP一样返回HTTP响应。
(5)客户端进行资源渲染用户界面
简述http和https(简介+连接流程+优缺点)_第2张图片

3.https的优点的缺点

  • 优点:
    安全性高:https使用SSL/TLS协议对数据进行加密传输,能够有效防止数据被窃听、篡改或伪造,保护用户的隐私和数据安全。
    身份校验:https使用数字证书对网站进行身份验证,确保用户连接的是合法的网站,防止中间人攻击。
  • 缺点:
    性能损耗:https需要进行加密和解密操作,增加服务器的负载和网络传输的延迟,导致网页加载速度变慢,
    成本高昂:https需要购买SSL证书,配置服务器,定期更新证书等,增加了网站的部署和维护成本。

总结

HTTP协议对于用户的数据隐私存在较高的安全风险,使用HTTPS协议可以保护用户的数据,在如今大数据盛行的时代,几乎所有网站都采用的是https协议来建立连接,这对于web前端开发人员来说,也是一个需要重点了解的领域,文章仅对两种协议作了简述(原创不易,希望大家多点点赞支持一下

你可能感兴趣的:(http,https,网络协议,前端)