网络

网络模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
网络的通讯其实就是socket间的通讯(通讯的两端都是socket),通过IO传输。需要IP,Port
Socket:位于传输层,有两个传输协议

  • TCP:传输控制协议。通过3次握手来建立连接(创建socket,connect建立连接,write发送,请求数据,read读取返回的信息,读取完毕的close,结束循环),可大数据传输。案例:下载,保持文件传输的完整性。
  • UDP:用户数据协议,不需要握手操作,有大小限制。不可靠协议。一般流媒体,游戏等,如果网络不好出现卡帧等之类情况就可能使用的UDP。

http,https协议:是建立socket基础之上的。处于应用层。

  • http:超文本传输协议,明文传输。
  • https:安全的ssl加密传输协议。

https流程:
客户端将与服务端协商的数据传递给服务端,服务端进行校验,校验通过,会将数字证书(向CA机构申请,审核通过,发放数字证书,包含公钥,签名等公司信息),公钥传递给客户端,客户端验证证书的有效性。验证通过,将公钥处理成前主秘钥进行非对称加密传输给服务端,自己形成会话秘钥。服务端通过私钥解密获取主秘钥,同样形成会话秘钥。进行数据加密传输。

Charles作为中间人,对客户端伪装成服务端,对服务端伪装成客户端。简单来说:
1:截获客户端的HTTPS请求,伪装成中间人客户端去向服务端发送HTTPS请求
2:接受服务端返回,用自己的证书伪装成中间人服务端向客户端发送数据内容。

网络请求:常用Get,Post方式的区别

  • Get :参数包含在url中,参数有长度限制。
  • Post:有请求体,通过request Body传递参数,参数没有长度限制。请求头要添加字段content-type:application/json来获取请求中消息主体的编码方式。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容