面试题高频:https和http的区别,对称加密和非对称加密的了解。
http
概念
- http协议是应用层的协议,又称:超文本传输协议(Hypertext transfer protocal),是浏览器和万维网(WWW)服务器之间通信的规则
- 默认端口:TCP 80
特点
- 无连接
虽然http协议是基于TCP传输的,TCP是面向连接的,但是http协议本身是无连接的。意思是,通信双方在交换http报文之前不需要先建立http连接。在完成TCP连接之后,客户端发送http请求报文,服务器处理完客户端请求,回送http响应报文,之后就断开连接,释放TCP连接。采用这种方式可以节省时间,尽快将资源释放以服务其他客户端,而数据的可靠传输交给TCP去完成。
问题:如果网页比较复杂,里面有很多图片、视频,每次点击这些图片或视频都需要建立一次TCP,然后再进行http请求,效率就比较低。
解决办法:后面提出了keep-alive,这个功能使客户端到服务器端的连接持续有效求,避免重新建立连接。
- 无状态
http协议对事务处理没有记忆能力。也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器响应时间与第一次被访问时一样,因为服务器不记得这个客户。这意味着每个请求都是独立的,无状态特性使得服务器更容易支持