在面试中被问到http和https的具体区别是什么?与tcp/ip有什么关系了?跟三次握手有关系吗?请问各位能不能好好讲解下
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
区别
HTTP协议传输的数据都是未加密的,也就是明文的,可以用抓包工具直接抓下来,而HTTPS则是利用了网景公司设计的SSL(Secure Sockets Layer)协议对HTTP协议传输的数据进行加密,抓包工具抓下来的是密文,大幅增加了中间人攻击的成本。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
跟TCP/IP的区别
TPC/IP协议是传输层和网络层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。
三次握手过程中的区别
太长不看版:
HTTP:使用三次TCP握手确认建立一个HTTP连接。HTTPS:HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
详细贼长版:
HTTP三次握手:
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器
添加回答
举报
0/150
提交
取消