Java资源分享网 - 专业的Java学习网站 学Java,上Java资源分享网
面试必备前端八股文 PDF 下载
匿名网友发布于:2024-11-22 10:01:50
(侵权举报)
(假如点击没反应,多刷新两次就OK!)

面试必备前端八股文 PDF 下载  图1

 

 

资料内容:

 

1. HTTP 和 HTTPS
1.http 和 https 的基本概念
http: 是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务
器传输超文本到本地浏览器的超文本传输协议。
https:是以安全为目标的 HTTP 通道,即 HTTP 下 加入 SSL 层进行加密。其作
用是:建立一个信息安全通道,来确保数据的传输,确保网站的真实性。
 
2.http 和 https 的区别及优缺点?
http 是超文本传输协议,信息是明文传输,HTTPS 协议要比 http 协议安全,https
具有安全性的 ssl 加密传输协议,可防止数据在传输过程中被窃取、改变,确保数
据的完整性(当然这种安全性并非绝对的,对于更深入的 Web 安全问题,此处暂且
不表)
http 协议的默认端口为 80https 的默认端口为 443
http 的连接很简单,是无状态的。https 握手阶段比较费时,会使页面加载时间延
50%,增加 10%~20%的耗电。
https 缓存不如 http 高效,会增加数据开销。
Https 协议需要 ca 证书,费用较高,功能越强大的证书费用越高。
SSL 证书需要绑定 IP,不能再同一个 IP 上绑定多个域名,IPV4 资源支持不了这种
消耗。
 
3.https 协议的工作原理
客户端在使用 HTTPS 方式与 Web 服务器通信时有以下几个步骤:
1. 客户端使用 https url 访问服务器,则要求 web 服务器建立 ssl 链接。
2. web 服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),传输
给客户端。
3. 客户端和 web 服务器端开始协商 SSL 链接的安全等级,也就是加密等级。
4. 客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥
来加密会话密钥,并传送给网站。
5. web 服务器通过自己的私钥解密出会话密钥。
6. web 服务器通过会话密钥加密与客户端之间的通信。
 
TCP 三次握手
1. 第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SENT
状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
2. 第二次握手:服务器收到 syn 包并确认客户的 SYNack=j+1),同时也发送一个自己
SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;3. 第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),
此包发送完毕,客户端和服务器进入 ESTABLISHEDTCP 连接成功)状态,完成三次
握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服
务器才正式开始传送数据。