HTTP 通信协议
首先有幸,阅读了 <HTTP权威指南> 一书。从书中得到 HTTP通信的介绍,特做些知识记录,总结。
那我们从问题开始吧:
1、HTTP的通信过程是 怎么样的呢?
2、HTTPS的通信过程是 怎么样的呢?
3、为何说 HTTPS是更安全的连接呢?
4、为何说 HTTP和HTTPS是可靠的传输呢?
我们来解答吧 一、 HTTP的一次通信过程(大致通信过程语义化表述): 1、通过域名,请求域名解析DNS服务器 2、DNS解析为IP服务器地址后,进行TCP连接 3、TCP连接IP服务器端口,请求连接打开端口,进行连接 4、send Http 数据到这个 TCP连接服务器上 5、response Http数据,从服务器读取响应回来的数据 6、Http的TCP连接断开
二、 HTTPS的一次通信过程(大致通信过程语义化表述): 1、通过域名,请求域名解析DNS服务器 2、DNS解析为IP服务器地址后,进行TCP连接 3、TCP连接IP服务器端口,请求连接打开端口,进行连接 4、client 数据SSL or TTL加密后,send Http 数据到这个 TCP连接服务器上 5、server 收到请求处理,数据经过 SSL or TTL加密后,返回client 6、response Http数据,从服务器读取响应回来的数据 7、Http的client和 server 的 TCP连接断开
以上无论HTTP或HTTPS为之一次完整的通信。
三、为何说 HTTPS是更安全的连接呢? 这个由HTTPS在网络结构设计上,开始展开说明: 我们知道,HTTP通信在网络结构属于 5层协议 在这里插入图片描述 再值得一说的是,HTTPS是在HTTP的基础上,增加 加密层 。这个加密层是设计在 传输之前,达到一个数据加密的良好效果。所以 HTTPS的网络结构设计如下: 从语言上描述如下 HTTP 和 HTTPS之间,通过网络分层设计: HTTP 应用网络分层: 物理层—数据链路层----网络层—传输层—应用层 HTTPS 应用网络分层: 物理层—数据链路层----网络层—传输层—TLS/SS加密层----应用层 可见,HTTPS更安全,是因为在传输和应用之间,加入了 数据加密层进行传输的加密。
四、为何说 HTTP和HTTPS是可靠的传输呢? 这个其实就从我们最熟悉的 TCP/IP协议来理解了。因为 HTTP和HTTPS的网络底层通信,就是使用的 TCP/IP协议来实现的。整个可靠连接,使用的是闻名的 TCP连接。 从语言上描述的话,从数据的角度出发如下: HTTP的 TCP/IP 连接传输,是通过 IP分组进行传输其中包括: IP分组头部: 20个字节 TCP分段头部:20个字节 TCP数据段:0或N个字节
IP分组头部的内容: 记录了源 ip地址、目标ip地址、长度、其他的标记数据 TCP分段头部的内容: 记录了TCP连接端口号、TCP控制标记、用于数据排序或完整性检查的 数据值。
以上是HTTP或HTTPS的通信。至于传输的密钥(包括 数据密钥认证、ID卡认证、对称密钥、非对称密钥、CA证书等HTTP的安全和加密知识,放下章 进行收集分享)
|