今天在浏览博客的时候,看到了一篇关于HTTP协议和TCP/IP协议的文章,本来想转载一下,结果自己写了一篇关于自己大学编程的文章(见本人上一篇博客),有点抑制不住自己的情绪,写了好长时间,哈哈。。。
1、要学习的文章在这里,里边讲了HTTP、TCP/IP协议以及以太网、路由器层面的知识:https://lvwenhan.com/操作系统/485.html
2、这篇文章讲的是HTTP和HTTPS的区别,以及HTTPS的通讯过程和原理:深入理解HTTPS通讯原理
3、MrPeakTech的文章:iOS 客户端 HTTPS 防中间人攻击实践
4、这篇文章介绍了https通信认证的具体过程,以及中间人攻击的具体流程:iOS https防止中间人攻击
补充:(2022年1月更新)
防中间人攻击可以采用以下方式来解决:
在项目中内置一个RootCA证书,对需要防中间人劫持的网络请求,直接用这个证书做验证,只信任这个证书及其子证书,这里需要注意的是对系统信任的根证书是不信任的,这样才能起到防中间人攻击的作用。下面这个方法需要重点了解:(可以参考:iOS 中对 HTTPS 证书链的验证 - 简书)
// true 代表仅被传入的证书作为锚点,false 允许系统 CA 证书也作为锚点
SecTrustSetAnchorCertificatesOnly(trust, true);