计算机网络相关知识(含面试题)

文章详细介绍了HTTP请求的各种方法,如GET、POST等,并讨论了如何实现在服务器边下载视频边观看的技术手段。此外,对比了TCP和UDP的差异,以及三次握手和四次挥手在可靠连接中的作用,以及GET和POST的区别。
摘要由CSDN通过智能技术生成

1、HTTP请求有哪些?

HTTP请求包括以下九种方法:

  1. GET请求:用于请求获取Request-URI所标识的资源。
  2. POST请求:在Request-URI所标识的资源后增加新的数据。
  3. HEAD请求:请求获取由Request-URI所标识的资源的响应消息报头。
  4. PUT请求:请求服务器存储或修改一个资源,并用Request-URI作为其标识。
  5. DELETE请求:请求服务器删除Request-URI所标识的资源。
  6. TRACE请求:请求服务器回送收到的请求信息,主要用于测试或诊断。
  7. CONNECT请求:保留将来使用。
  8. OPTIONS请求:请求查询服务器的性能,或者查询与资源相关的选项和需求。
  9. PATCH请求:用来对已知资源进行局部更新。

2、假如客户要实现服务器边下载视频边观看,有什么办法?

要实现服务器边下载视频边观看,可以考虑以下几种方法:

  1. 使用HTTP适应性传输速率(HTTP Adaptive Streaming):这种方法根据客户端的传输速率和网络状况,将视频文件分成多个小块,以不同的比特率进行编码和传输。客户端可以根据网络状况自动选择最适合的块进行播放。
  2. 使用RTMP协议:RTMP是一种实时消息传输协议,可以在TCP之上传输多媒体数据。使用RTMP协议,可以在服务器端创建一个直播流,同时在客户端使用Flash播放器进行播放。
  3. 使用HLS协议:HLS(HTTP Live Streaming)是由苹果公司开发的实时流传输协议。它可以将视频流分割成多个小的HTTP流,每个流包含一部分视频。客户端可以根据网络状况选择最适合的流进行播放。
  4. 使用DASH协议:DASH(Dynamic Adaptive Streaming over HTTP)是一种基于HTTP的动态自适应流传输协议。它和HLS类似,可以将视频分割成多个小的HTTP流,根据网络状况进行自适应调整。

以上这些方法都可以实现在服务器端下载视频的同时进行播放,具体选择哪种方法取决于具体的业务需求和技术实现。

3、TCP和UDP区别


TCP和UDP都是传输层协议,但是它们有很多不同之处。TCP是一种面向连接的协议,而UDP是一种无连接的协议。TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠性。

TCP和UDP的优缺点无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。

4、三次握手多余吗 可以改为两次吗?

如果试图将三次握手改为两次握手,那么可能会出现以下问题:

  1. 安全性问题:在两次握手的情况下,无法确保第二次握手的消息是否丢失或者被重放攻击。如果使用三次握手,那么可以进行确认,从而防止重放攻击。
  2. 同步问题:在两次握手的情况下,无法确保客户端和服务器之间的时间同步。如果存在时间差,可能会导致序列号错误而无法建立连接。使用三次握手可以更好地解决同步问题。

因此,三次握手是建立可靠连接的必要步骤,不能简单地改为两次握手。

5、四次挥手多余吗? 可以改为三次吗?

可以改为三次挥手,但是三次挥手并不是一个可靠的过程,因为可能存在半开连接的情况,即客户端发出了Fin报文,但是服务器没有收到或者在服务端回复了Ack报文后,客户端没有收到。这种情况下,连接将无法正常关闭。

在TCP四次挥手过程中,客户端和服务器都发送和接收Fin和Ack报文,从而确保连接的可靠关闭。因此,虽然四次挥手过程可能会显得有些多余,但它实际上是必要的,以确保网络通信的可靠性和安全性。

6、GET和POST的区别?

GET和POST都是HTTP请求方法,它们的本质区别在于:

  1. 数据传输方式:GET是从服务器上获得数据,而POST是向服务器传递数据。
  2. URL可见性:GET请求的参数会被附加到URL后面,而POST请求的参数则放在请求体中,不会暴露在URL中,因此POST的安全性更高。
  3. 数据传输长度:GET请求的参数长度受限于URL长度,通常不能超过2k-4k,而POST没有长度限制。
  4. 缓存性:GET请求可以被浏览器缓存,POST请求不可以。
  5. 编码方式:GET请求只支持URL编码,而POST支持多种编码方式。
  6. 数据安全性:GET请求参数在URL中明文传输,因此安全性较低,而POST请求参数在请求体中传输,相对更安全。
  7. 幂等性:GET请求是幂等的,即多次执行GET同一个URL,结果都是一样的,而POST请求则不是。

在实际应用中,应根据具体的需求和场景选择合适的请求方法。

7、TCP的连接过程分为哪三个阶段?

TCP连接过程分为三个阶段:建立连接、传输数据、断开连接

题目:

1.以下哪种设备是数据链路层设备()

A网桥

B集线器

C路由器

D适配器

数据链路层设备是网桥。

网桥工作在数据链路层,可以连接多个设备,并将这些设备连接在一起形成局域网。它可以接收和转发数据帧,并具有过滤和转发功能。因此,A选项是正确答案。

集线器(Hub)工作在物理层,通过碰撞域和广播的方式工作,可以将多个设备连接在一起,形成一个星型拓扑结构。

路由器(Router)工作在网络层,它可以根据IP地址进行数据的转发和路由,用于连接不同的网络。

适配器(Adapter)用于将设备连接到网络,它通常位于设备的边缘,例如计算机的网卡就是一种适配器。适配器可以转换数据格式,使得设备能够与网络通信。

2.下列关于TCP协议的叙述中,正确的是(

A.TCP将来自上层的字节流组成分组,然后交给IP协议

B.TCP将收到的报文段组成字节流交给上层

C.TCP提供广播传输

D.TCP提供了可靠无连接的数据传输

正确答案是B.TCP将收到的报文段组成字节流交给上层。TCP是一个面向连接的协议,它提供可靠的数据传输服务。在TCP协议中,发送方将数据分段并发送,接收方对接收到的报文段进行排序,然后组成字节流并交给上层。因此,选项A是错误的。TCP不提供广播传输,选项C也是错误的。选项D提到了无连接的数据传输,这是UDP协议的特点,而不是TCP。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值