首先,网络协议分为5层:物理层、数据链路层、网络层、传输层、应用层(由低到高排列)
HTTPS是应用层协议(其实它并不是一种协议,准确的说),SSL也是应用层协议,但实际上工作在应用层和传输层之间,也就是说,HTTPS实际上是建立在SSL之上的HTTP协议(普通的HTTP协议是建立在TCP协议之上的),即,最上层的HTTP协议是保持不变的,区别只在HTTP和传输层的TCP协议之间是否加入了SSL层。
既然SSL是位于传输层和应用层之间的,那么它只能对本层和上层的数据进行加密,管不了下层,所以:
HTTPS访问时网址(即请求的网页URL)是加密的,因为URL是HTTP协议数据报头的一部分,而HTTP位于SSL的上层,因此凡是HTTP协议所负责传输的数据就全部被加密了。