http:一种机制简单(这也是从早期众多传输协议中走出来的原因)的超文本传输协议,为客户端和服务器通信服务,是处在TCP/IP协议族中的应用层协议。
http工作原理
1.由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。 连接
2.HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求, 请求
3.服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 响应
4.客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客 http工作流程图 http工作流程图 户机与服务器断开 连接
HTTP在发送请求时,采用四层架构。
应用层:提供多种应用服务,如:HTTP FTP DNS等,可以直接提供给开发者使用。
传输层:网络间数据的传输,如:TCP UDP,报文数据分割打包成帧
网络层:处理网络中流动的数据包,在复杂的网络段中选择一条传输路线,将数据包送到目的地。将现实中的寄快递(在快递上写上收件地址等信息,送到快递点(类似于路由器))
数据链路层:处理链接网络的硬件部分,如:网络适配器,硬件驱动,操作系统,光纤。
HTTPS发送过程
- 浏览器向服务器发送请求
- 服务端将数字证书返回给浏览器
- 浏览器验证证书,并获取到公钥
- 浏览器生成随机数R,并使用公钥对R进行加密
- 浏览器将加密的R发送给服务器
- 服务器用私钥解密出R
- 服务器以R为密钥使用了对称加密算法加密网页内容并传输给浏览器
- 浏览器以R为密钥使用之前约定好的解密算法获取网页内容。
HTTPS 和 HTTP 的区别主要为以下四点:
- https 协议需要到 ca 申请证书,目前市面上的免费证书也不少,收费的也都比较贵。
- http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议。
- http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
- http 的连接很简单,是无状态的;HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全。