网络
2018-05-16 本文已影响19人
HiIgor
Http:
请求步骤
- 地址解析: 解析出协议名,主机名, 端口,对象路径等.
- 封装Http请求数据包
- 封装成TCP包,简历TCP连接(3次握手)
- 客户端发送请求
- 服务器响应
- 服务器关闭TCP连接.
返回状态码
- 1xx : 请求正在被处理
- 2xx: 请求处理成功
- 3xx: 重定向
- 4xx: 服务器无法处理请求
- 5xx: 服务器处理请求时出错
缺点
- 通信使用铭文,可能被窃听
- 不验证同新方的身份,可能遭遇伪装
- 无法证明报文的完整性,有可能造成篡改
Https (加密+认证+完整性保护+Http)

TLS/SSL
安全传输层协议Transport Layer Security, 是介于TCP和HTTP之间的一层安全协议,不影响原有的TCP协议和HTTP协议,所以使用HTTPS基本上不需要对HTTP页面进行太多的改造, TLS/SSL 协议具有身份验证, 信息加密,完整性校验的功能.
Http和Https的区别

TLS/SSL的工作原理
-
其功能实现主要依赖于3类基本算法: 对称加密,非对称加密,散列函数Hash. 利用非对称加密实现身份认证和秘钥认证, 对称算法采用协商的秘钥对数据加密. 基于散列函数验证信息的完整性.
-
结合三类算法的特点,TLS的基本工作方式是,客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥, 然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而可以保证信息只能通信双方获取。
-
C在和S进行通信时,如果出现一个中间节点M拦截了C的请求. M 和S建立了通信, N和S再建立通信,之后C和S通信的内容可以被M完全掌握.
-
解决以上问题的关键是确保,C获取的公钥是合法的.
参考资料: https://juejin.im/post/5af557a3f265da0b9265a498#heading-8