计算机网络

目录

1.http1.0和http1.1的主要区别

2.http1.1和http2.0的主要区别

3.tcp和udp的区别

4.tcp三次握手四次挥手过程

1.三次握手

 2. 四次挥手

 5.tcp怎样保证可靠性

6.http https的区别

7.osi七层模型,都是干什么的,有哪些协议

传输层

会话层

表示层

应用层


1.http1.0和http1.1的主要区别


1、缓存处理:1.1添加更多的缓存控制策略(如:Entity tag,If-Match)
2、网络连接的优化:1.1支持断点续传
3、错误状态码的增多:1.1新增了24个错误状态响应码,丰富的错误码更加明确各个状态
4、Host头处理:支持Host头域,不在以IP为请求方标志
5、长连接:减少了建立和关闭连接的消耗和延迟。

2.http1.1和http2.0的主要区别


1、新的传输格式:2.0使用二进制格式,1.0依然使用基于文本格式
2、多路复用:连接共享,不同的request可以使用同一个连接传输
3、header压缩:由于1.X中header带有大量的信息,并且得重复传输,2.0使用encoder来减少需要传输的hearder大小
4、服务端推送:服务端推送是一种在客户端请求之前发送数据的机制。

3.tcp和udp的区别

  • TCP 是面向连接的,UDP 是面向无连接的
  • TCP 保证数据顺序,UDP 不保证
  • TCP 保证数据传输的可靠性,UDP尽最大努力传输
  • UDP具有较好的实时性,工作效率比TCP高
  • TCP首部开销20字节; UDP的首部开销小,只有8个字节 。
  • TCP速度比较慢,而UDP速度比较快,因为TCP必须创建连接
  • UDP程序结构较简单,UDP没有拥塞控制
  • TCP 是面向字节流的,UDP 是面向报文的
  • TCP对系统资源要求较多,UDP对系统资源要求较少
  • 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信 

4.tcp三次握手四次挥手过程

1.三次握手

三次握手其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常

刚开始客户端处于 Closed 的状态,服务端处于 Listen 状态。

第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN。此时客户端处于 SYN_SENT状态。

首部的同步位SYN=1,初始序号seq=x,

第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 x + 1 作为ack 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD 的状态。

在确认报文段中SYN=1,标志位ACK=1,确认号ack=x+1,初始序号seq=y。

第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为ack 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。
确认报文段ACK=1,确认号ack=y+1,序号seq=x+1

计算机网络_第1张图片

 2. 四次挥手

刚开始双方都处于ESTABLISHED 状态,假如是客户端先发起关闭请求。四次挥手的过程如下:

  • 第一次挥手:客户端发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN_WAIT1(终止等待1)状态,等待服务端的确认。
  • 第二次挥手:服务端收到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号seq=v),服务端进入CLOSE_WAIT(关闭等待)状态,此时的TCP处于半关闭状态。客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态,等待服务端发出的连接释放报文段。
  • 第三次挥手:服务端没有要向客户端发出的数据时,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进入LAST_ACK(最后确认)状态,等待客户端的确认。
  • 第四次挥手:客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。
    计算机网络_第2张图片

 5.tcp怎样保证可靠性

TCP协议保证数据传输可靠性的方式主要有:

  • 校验和
  • 序列号,确认应答
  • 超时重传
  • 连接管理
  • 流量控制
  • 拥塞控制

6.http https的区别

1、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。

2、HTTPS  协议需要到 CA 申请证书,一般免费证书较少,因而需要一定费用。

3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。

7.osi七层模型,都是干什么的,有哪些协议

物理层

要定义物理设备标准,传输比特流

数据链路层

定义了如何让数据以进行传输,以及控制对物理介质的访问

网络层

两个主机系统之间提供连接和路径选择

传输层

定义了一些传输数据的协议和端口号

会话层

在系统之间发起会话或者接受会话请求

表示层

确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取

应用层

为用户的应用程序提供网络服务。

计算机网络_第3张图片

你可能感兴趣的