目录
1.HTTP
HTTP是一种简单的请求-响应协议,被用于在Web浏览器和网站服务器之间传递消息。HTTP使用TCP(而不是UDP)作为它的支持运输层协议。其默认工作在TCP协议80端口,HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器和服务器进程就可以通过套接字接口访问TCP。客户机从套接字接口发送HTTP请求报文和接收HTTP响应报文。类似地,服务器也是从套接字接口接收HTTP请求报文和发送HTTP响应报文。其通信内容以明文的方式发送,不通过任何方式的数据加密。当通信结束时,客户端与服务器关闭连接。
2.HTTPS
HTTPS是以安全为目标的HTTP协议,在HTTP的基础上通过传输加密和身份认证的方式保证了传输过程的安全性。其工作流程如下:
(1)客户端发起一个HTTPS请求,并连接到服务器的443端口,发送的信息主要包括自身所支持的算法列表和密钥长度等;
(2)服务器端将自身所支持的所有加密算法与客户端的算法列表进行对比并选择一种支持的加密算法,然后将它和其他密钥组件一同发送给客户端;
(3)服务器向客户端发送一个包含数字证书的报文,该数字证书中包含证书的颁发机构、过期时间、服务器端的公钥等信息;
(4)最后服务器发送一个完成报文,通知客户端SSL的第一阶段已经协商完成;
(5)SSL第一次协商完成后,客户端发送一个回应报文,报文中包含一个客户端生成的随机密码串,称为pre_master_secre,并且该报文是经过证书中的公钥加密过的;
(6)紧接着客户端会发送一个报文提示服务器端在此之后的报文是采用pre_master_secre加密的;
(7)客户端向服务端发送一个finish报文,这次握手中包含第一次握手至今所有报文的整体校验值,最终协商是否完成取决于服务端能否成功解密;
(8)服务端同样发送与第(6)步中相同作用的报文,已让客户端进行确认,最后发送finish报文告诉客户端自己能够正确解密报文。
3.HTTP与HTTPS的区别
在HTTPS通信过程中并不是采用明文传输,而是采用对称加密的方式,对称密钥已经在SSL的建立过程中协商好了。
4.ARP地址解析协议的原理和地址解析过程
4.1原理
ARP协议提供根据IP地址获取物理地址的功能,它工作在第二层,是一个数据链路层协议,其在本层和物理层进行联系,同时向上层提供服务。当通过以太网发送IP数据包时,需要先封装32位的IP地址和48位的MAC地址。在局域网中两台主机进行通信时需要依靠各自的物理地址进行标识,但由于发送方只知道目标IP地址,不知道其MAC地址,因此需要地址解析协议。
4.2解析过程
(1)首先,每个主机都会在自己的ARP缓冲区建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系;
(2)当源主机要发送数据时,首先检查ARP列表中是否有IP地址对应的目的主机MAC地址,如果存在,则可以直接发送数据,否则就向同一子网的所有主机发送ARP数据包。该数据包包括的内容有源主机的IP地址和MAC地址,以及目的主机的IP地址;
(3)当本网络中的所有主机收到该ARP数据包时,首先检查数据包中的目的主机IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP地址和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入到ARP响应包中,告诉源主机自己是它想要找的MAC地址;
(4)源主机收到ARP响应包后,将目的主机的IP地址和MAC地址写入到ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。