HTTP和HTTPS协议

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31638095/article/details/79976837

应用层

1.1. DNS域名解析服务

1.1.1. 域名服务器的类型

(1) 根域名服务器:最高层次的域名服务器,管理所有的顶级域名服务器。只有13个不同的IP地址的域名。

(2) 顶级域名服务器:负责管理在该服务器下注册的所有二级域名

(3) 权限域名服务器:负责一个区的域名服务器

(4) 本地域名服务器:当一台主机发送域名查询请求时,这个请求报文就会发送给本地域名服务器。

1.1.2. 域名解析过程的两种查询

(1) 递归查询:主机向本地域名服务器发送域名查询请求,如果查询到对应的IP地址则返回,否则本地域名服务器将域名查询请求发送给根域名服务器,而不是主机自己去进行下一步查询。递归查询返回的结果要么是所查询的IP,要么报错表示没有查询到。

(2) 迭代查询:本地服务器将域名查询报文发送给根域名服务器之后,根域名服务器要么返回所查询的域名的IP地址,要么告诉本地域名服务器接下来去找哪一个域名服务器查询。根域名服务器会把顶级域名服务器的IP地址告诉本地域名服务器。本地服务器再根据顶级域名服务器的IP地址向顶级域名服务器查询。查询的结果是要么返回所要查询的IP地址,要么告诉本地域名服务器接下来去找哪一个权限域名服务器查询。最后返回所要查询的域名对应的IP地址。

1.2. HTTP协议

1.2.1. TCP/IP的通信传输流

(1) 在应用层:客户端发送HTTP请求

(2) 在传输层:接收到应用层的报文,为了方便传输将其分割,并在每一个分组上添加首部。

(3) 在网络层:接收到传输层的报文后,增加通信目的MAC地址。将数据发送给数据链路层。

(4) 接收端在数据链路层接收到数据,按序往上层发送,一直到应用层,才能算真正接收到客户端发送的HTTP请求。在每一层都会去掉相应的首部信息。

1.2.2. HTTP的报文结构

(1) 响应报文:

请求方法 URL HTTP协议版本

请求首部字段

空行

请求主体

(2) 响应报文:

HTTP协议版本 状态码 状态码原因短语

响应首部字段

空行

响应主体

常用的请求方法:GETPOST

常用的状态码:

200

请求成功

301

重定向

400

客户端语法错误

403

客户端请求资源访问被拒绝

404

访问路径不存在

500

服务器出现错误

1.2.3. HTTPweb服务器

(1) 代理

① 扮演了客户端和服务端的中间人,用于接收客户端的请求并转发给服务端,或者接收服务端的响应转发给客户端。

② 代理的使用方法分类

1) 用作缓存:缓存代理在转发服务器的响应时,会预先缓存资源的副本。下次有相同的资源请求时,不需要从源服务器获取资源,直接将之前的缓存资源作为响应返回。

2) 透明代理:转发或者请求时,不对报文做任何修改成为透明代理。反之称为非透明代理。

③ 代理的优点:利用缓存减少网络带宽的流量,组织内部针对特定网站的访问控制,获取访问日志。

(2) 网关:转发其他服务器通信数据的服务器,接收客户端发送的请求,就像自己拥有资源一样对请求进行处理。

网关能够使通信线路上的服务器提供非HTTP协议服务。利用网关能够提高 通信的安全性,因为可以在客户端和网关之间的通信线路上加密以确保连接 的安全。

(3) 隧道:确保客户端能够与服务端进行安全的通信。

1.3. HTTPS协议

1.3.1. HTTP的缺点

(1) 通信使用明文(不加密),内容可能被窃听

(2) 不验证通信方的身份,可能被伪装

(3) 无法验证报文的完整性,可能被篡改

1.3.2. HTTP+加密+身份认证+完整性保护=HTTPS

1.3.3. 加密

(1) 共享密钥:共享密钥加密和解密使用同一把密钥,以共享密钥加密时,必须要将密钥也发送给对方。但是密钥在传输过程中容易被窃取,则加密也就没用了。

(2) 公开密钥:公开密钥具有两把钥匙,一把私有密钥只有自己知道,一把公开密钥可以随意发布。使用公开密钥进行加密时,使用对方的公开密钥进行加密,对方接受到密文时再使用自己的私有密钥解密。利用这种方式就不需要发布自己的私有密钥,不怕密钥被窃取。SSL使用的是公开密钥。

(3) 混合密钥:HTTPS使用的是混合密钥,在交换密钥阶段使用的是公开密钥技术,在交换报文阶段使用的是共享密钥技术。

1.3.4. 证书

公开密钥有一个限制,就是无法确认接收到公开密钥是想要通信方的密钥。

证书解决这一问题。服务端去CA申请数字证书,通信时首先将证书发送给客户端,客户端验证证书的有效性,一旦验证通过就可以确认公开密钥是真实的。

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页