HTTP,HTTPS和TCP介绍:
HTTP(超文本传输协议是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。是用于www浏览的一个协议。
HTTPS(超文本传输安全协议) = HTTP + SSL/TSL(安全层),HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
TCP(传输控制协议):是机器之间建立连接用的到的一个协议。 HTTP本身是一个协议,一般是基于TCP连接的。( HTTP/3 基于 UDP 协议)
1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。 因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
2、HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及相关的MIME样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。
http协议和https协议的区别:
传输信息安全性不同、连接方式不同、端口不同、证书申请方式不同
1、传输信息安全性不同
http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。
https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。
2、连接方式不同
http协议:http的连接很简单,是无状态的。
https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。
3、端口不同
http协议:使用的端口是80。
https协议:使用的端口是443.
4、证书申请方式不同
http协议:免费申请。
https协议:需要到ca申请证书,一般免费证书很少,需要交费。
TCP三次握手:
三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。
第一次握手: 客户端向服务端发送信息。当服务端接收到信息后,服务端可以明确接收功能是正常的。 第二次握手:
服务端向客户端发送信息作为应答。当客户端接收到信息后,客户端可以明确发送和接受功能都正常。 第三次握手:
客户端向服务端发送信息,当服务端接收到信息后,服务端可以明确发送功能是正常的。 通过三次握手,就能明确双方的收发功能均正常,也就是说,保证了建立的连接是可靠的。而且,由上可见,三次是确保连接可靠的最少次数,再就多余。
|