项目实训(二十五)网络基础整理

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

1.http是应用层协议,将数据看做一个个数据包。请求报文包括请求行(url,method,协议及版本),

请求头:Accept:客户端接受的数据类型,含有一个或多个MIME类型

             Cookie: http中每个请求都是独立的,所以有必要有一个字段记录一些内容。

             Cache-control : 缓存控制策略。有以下几个配置项

  • private:只有客户端可以缓存
  • public:客户端和代理服务器都可以缓存
  • max-age:缓存的过期时间
  • no-cache:每次都直接向服务器请求比对Etag(资源标识码),没有更新返回304,表示可以使用缓存。
  • no-store:不进行缓存

content-type:发送的数据类型,如application/json,表单等,指明了接受者应该以什么方式来解析这些数据,同样的响应头中也有这个。

请求体:要发送的数据。

响应报文包括:状态行(状态码和协议版本),响应头(cookie ,Etag,cache-control等)和响应体。 

2.http 2.0:支持多路复用,使用二进制分帧,每个帧有一个身份标识,不必每个请求开启一个tcp连接,多个请求共有一个连接,帧到达服务器后根据标识对应各自请求。1.0是文本协议,2.0是二进制协议。

3.https: 更加安全的加密。Http使用对称加密算法,https使用非对称加密算法。对称加密算法就是通信双方共享一个公钥,发送方将信息使用公钥加密后传给接收方,接收方使用相同的公钥或者能简单推算出相同公钥的钥来解密。缺点在于一个共享组中一个个体泄露公钥那么所有信息暴露,优点是速度快。非对称加密表示接收方持有一个公钥-私钥对,当发送方想要发送消息时,接收方将自己的公钥交给发送方,发送方使用此公钥对信息进行加密后传给接收方,接收方使用私钥进行解密。即使公钥泄露,没有私钥也无法解密,而私钥只有接收方个人持有,安全性大大提高,只是速度会变慢。

4.tcp/udp是传输层的协议,对应的传输对象是端口。Socket是对tcp/udp上的一层封装,okhttp和httpurlconnection又是对socket的一层封装。

三次握手的必要性:如果是两次的话,一个A向B发送的已经失效的连接请求到达B后,B返回ACK并认为已经建立连接等待A发送数据,但是A并没有数据要发,于是造成浪费。

四次挥手:结合四次挥手的图,A在发出第四次挥手后等待一个时间,这个时间足以保证B不再向A发送信息。B如果成功接收到第四次挥手那么就会断开连接,A过了等待时间后也会断开。B如果没接收到第四次挥手就会再次向A发送第三次挥手,A接收到后重新第四次挥手。

猜你喜欢

转载自blog.csdn.net/zhang___yong/article/details/82109569