Q:说一下 http 和 https
http 和 https 的基本概念
- http:超文本传输协议, 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请示和应答的标准(TCP),用于从万维网传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
- https:是以安全为目标的 HTTP 通道,就是 HTTP 的安全版,即在 HTTP 下加入 SSL 层, HTTPS 的安全基础是 SSL,因此加密 的详细内容就需要 SSL。
HTTPS 协议的主要作用是建立一个信息安全通道,来确保数据的转输,确保网站的真实性。
http 和 https 的区别
- http 传输的数据都是明文没有加密的,网景公司设置 SSL 协议来对 HTTP 协议传输的数据进行加密处理,就是说 HTTPS 协议是由 HTTP 和 SSL 协议构建的可进行加密传输和身份谁的网络协议,比 HTTP 协议的安全性更高。
主要区别:
客户端在使用 HTTPS 方式与 WEB 服务器通信时有以下几个步骤:
使用 HTTPS 协议可以认证用户和服务器,确保数据发送到正确的客户端和服务器
- HTTPS 协议是由 SSL + HTTP 协议构建的可进行加密传输、 身份认证的网络 协议,要比 HTTP 协议安全,可以防止数据在传输过程中不被窃取、改变、确保数据的完整性
- HTTPS 是现行架构中最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
Google 曾在 2014 年 8 月份调整搜索引擎算法,并称“比起同等 HTTP 网站,采用 HTTPS 加密的网站在搜索结果中的排名将会更高”
https 协议的缺点
HTTPS 握手阶段比较费时,会使页面加载时间延长 50%,增加 10% ~ 20% 的耗电
- HTTPS 缓存不如 HTTP 高效,会增加数据开销
- SSL 证书需要钱,功能越强大的证书费用越高
- SSL 证书需要绑定 IP,不能在同一个 IP 上绑定多个域名,ipv4 资源支持不了这种消耗
Q:TCP 三次握手,一句话概括
A:客户端和服务端都需要直到各自可收发,因些需要三次握手。
客户端发起请求连接服务端确认,也发起连接客户端确认,每次握手的作用:
- 服务端确认:自己可以接收客户端发送的报文段
- 客户端确认:服务端收到自己发送的报文段
并且确认:自己可以接收服务端发送的报文段 -
Q:TCP 和 UDP 的区别
A:
TCP 是面向连接的,UDP是无连接的即发送数据前不需要先建立连接
- TCP 提供可行的服务,通过 TCP 连接传送的数据,无差错,不丢失,不重复,且按序到达。适合大数据量的交换;
UDP 尽最大努力交付,即不保证可靠交付。 - TCP 是面向字节流,UDP 面向报文,并且网络出现拥塞不会舍不得发送速率降低(因此会出现丢包,对实时的应用比如 IP 电话和视频会议等)
- TCP 只能是 1对1的;UDP 支持 1对1,1对多
- TCP 的首部较大 20 字节;UDP 只有 8 字节
- TCP 是面向连接的可靠性传输,而 UDP是不可靠的