1.https协议的优点?
使用HTTPS协议可认证用户和服务器,
确保数据发送到正确的客户机和服务器;
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、
身份认证的网络协议,要比http协议安全,
可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
HTTPS是现行架构下最安全的解决方案,
虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
谷歌曾在2014年8月份调整搜索引擎算法,
并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。
2.https协议的缺点?
https握手阶段比较费时,会使页面加载时间延长50%,
增加10%~20%的耗电。
https缓存不如http高效,
会增加数据开销。
SSL证书也需要钱,
功能越强大的证书费用越高。
SSL证书需要绑定IP,不能再同一个ip上绑定多个域名,
ipv4资源支持不了这种消耗。
3.tcp三次握手,一句话概括?
客户端和服务端都需要直到各自可收发,因此需要三次握手。
简化三次握手:
![](https://i-blog.csdnimg.cn/blog_migrate/5910c651c826a51e72c9ac16db8aafa5.webp?x-image-process=image/format,png)
从图片可以得到三次握手可以简化为:
C发起请求连接S确认,也发起连接C确认我们再看看每次握手的作用:
第一次握手:
S只可以确认 自己可以接受C发送的报文段第二次握手:
C可以确认 S收到了自己发送的报文段,
并且可以确认 自己可以接受S发送的报文段第三次握手:
S可以确认 C收到了自己发送的报文段
4.TCP和UDP的区别?
(1)TCP是面向连接的,udp是无连接的即发送数据前不需要先建立链接。
(2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
并且因为tcp可靠,面向连接,不会丢失数据因此适合大数据量的交换。
(3)TCP是面向字节流,UDP面向报文,并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。
(4)TCP只能是1对1的,UDP支持1对1,1对多。
(5)TCP的首部较大为20字节,而UDP只有8字节。
(6)TCP是面向连接的可靠性传输,而UDP是不可靠的。
5.什么是WebSocket?
WebSocket是HTML5中的协议,支持持久连续,http协议不支持持久性连接。
Http1.0和HTTP1.1都不支持持久性的链接,HTTP1.1中的keep-alive,将多个http请求合并为1个。