计算机网络知识点(笔试)

1. 以下关于HTTP说法正确是的:(题目来源) 

A. HTTP POST方式比GET更安全
B. HTTP GET请求提交参数没有长度限制
C. HTTP POST请求提交参数没有长度限制
D. HTTP GET和POST请求提交参数都没有长度限制

AC

分析:HTTP协议是应用层协议,是一种客户端和服务器端数据传输的一种协议,是面向事务的,无状态的一种协议。 

考点一 :HTTP协议特点(参考链接1

(1)无连接的:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

(2)无状态的:对于事务处理【面向事务的】没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

(3)简单快速灵活 (4)支持B/S 和C/S。 (5)面向文本的,因此各个字段的长度不确定

考点二:三次握手和四次挥手(参考链接2)。

建立一条TCP连接需要(3)个步骤,关闭一个TCP连接需要(4)个步骤。

三次握手[连接建立阶段]:(1)Client向Server发送请求连接消息(SYN码)

(2)S向C发送收到请求消息,SYN+ACK(密码)

(3)C接收S的码并验证 SYN+ACK是否正确,正确则建立连接。建立的连接是TCP连接

四次挥手[报  文传送阶段]:(1)Client向Server发送FIN 报文传输完毕消息。

(2)S向C发送ACK,报文接收完毕消息  【接收完,处理消息,再发送C要求的数据给C】

(3)S向C发送FIN,报文传输完毕消息

(4)C向S发送ACK,报文接收完毕消息。

三次握手和四次挥手保证数据安全和完整。

考点三:报文种类请求报文和响应报文

HTTP协议中有两种报文:(1)请求报文 :C向S发送请求报文  (2)响应报文:从S到C的回答

其中请求报文中包含一些方法,HTTP1.0中是GET/POST/HEAD 。HTTP1.1中是8种方法,新增了5种 OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

请求报文一共包括3个部分:请求行、首部行[+空行]、实体主体。如果说四部分,那就是 请求行、首部行、空行、实体主体。【谢希仁教材是三个部分,将空行未归入其中】。

                                请求报文部分组成。

                                        请求报文具体例子。

响应报文组成:状态行、首部行[+空行]、实体主体。

常见的状态码: 1xx 通知信息(正在处理) 

2xx:成功  3xx:重定向,如完成请求还需要采取下一步动作  4xx:客户端的差错 5xx:服务器端差错

  • 200 接受,正常返回数据。
  • 204:请求被受理但没有资源可以返回 
  • 206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源
  • 301:永久性重定向
  • 302:临时重定向 (请求的网页已临时移动到新位置)
  • 303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上 
  • 304:发送附带条件的请求时,条件不满足时返回,与重定向无关。(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
  • 307:临时重定向,与302类似,只是强制要求使用POST方法 

400 客户端错误,请求的参数无效(语法错误)

401:请求需要认证 

403 客户端错误,请求的权限限制。【禁止访问

404 客户端出错,请求的资源不存在 

500 内部服务器错误。Web服务器遇到阻止其返回请求的网页的问题时,会发生此错误。

502  服务器挂了 服务器从其为满足请求而访问的上游服务器接收到无效响应。【后端计算机之间的IP通信不畅】上游服务器已关闭(对网关/代理无响应),而是上游服务器与网关/代理在交换数据的协议上不一致。鉴于Internet协议非常明确,通常意味着一台或两台计算机的编程错误或不完整。

503 服务器正忙 

        参考 : https://www.nowcoder.com/profile/564725626/test/36611460/501232#summary

 常见错误状态和解决办法:https://www.checkupdown.com/status/E403_zh.html 【拉到底部看其他的】

考点四:GET/POST不同之处

GET 方法提交的数据会直接填充在请求报文的URL上。如“ https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1 ”   “?”问号划分域名和get提交的参数,A=B中的A是参数名,B是参数值,多个参数之间用&进行分割,如果参数值是中文,则会转换成诸如%ab%12加密16进制码。一般来说,浏览器处理的URL最大限度长度为1024B(不同浏览器不一样),所以GET方法提交参数长度有限制。 POST方法提交的数据会附在正文上,一般请求正文的长度是没有限制的,但表单中所能处理的长度一般为100k(不同协议不同浏览器不一样),而且需要考虑下层报文的传输效率,不推荐过长。POST方法提交参数的长度没有限制

从提交参数长度角度来说,POST没有限制,GET有。

        GET方法可以用来传输一些可以公开的参数信息,解析也比较方便,如百度的搜索的关键词,而POST方法可以用来提交一个用户的敏感信息(如果不使用HTTPS加密,报文正文仍旧是明文,容易被人截获读取)。

安全性角度来说,POST更安全。

一些其他比较可见:https://www.cnblogs.com/weibanggang/p/9454581.html

2.关于TCP协议的描述,以下错误的是?

A. 面向连接
B. 可提供多播服务
C. 可靠交付
D. 报文头部长,传输开销大

B

考点一:TCP和UDP对比

运输层:两台主机中进程之间的通信提供通用的数据传输服务

传输控制协议TCP:提供面向连接的可靠的数据传输服务,其数据传输的单位是报文段

用户数据报协议UDP:提供无连接尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报

考点二:TCP特点

TCP最主要的特点:

(1)面向服务的:应用程序使用TCP协议之前,必须建立TCP连接。

(2)点对点传播:每一条TCP连接只能用两个端点。

(3)可靠交付:传送的数据无差错,不丢失,不重复并且按序到达

(4)提供全双工通信:允许通信双方应用进程在任何时候都能发送数据。TCP两端都设有发送缓存和接收缓存。应用程序在把数据传给TCP缓存时,可以做自己的事。

(5)面向字节流的:TCP把应用程序的数据看成是无结构的字节流。发送回的字节流大小可以和传送过来的不同。但是接收到的要和传送的相同。

一个TCP报文段分为:首部和数据两个部分。其中首部分为:20个固定字节+4n(根据需要增加的选项)。 报文头部长,传输开销大【正确】

考点三:单播、多播、广播

单播:一对一

多播:一对多

广播:村支书大喇叭通知事情。

https://www.cnblogs.com/CNHK1949/p/10680651.html

3. 用浏览器访问www.jd.com时,可能使用到的协议有?

A. MAC
B. HTTP
C. SMTP
D. ARP
E. RTSP

     正确答案:A B D

MAC :802.11标准(无线局域网)中协议。

HTTP:应用层协议 (c-s)

SMTP:一种提供可靠且有效的电子邮件传输的协议

ARP:地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议

RTSP:实时流式协议。本身不传输数据,是媒体播放器能够控制多媒体流的传送,RTSP又称为外带协议,以客户服务器方式工作,是应用层的多媒体播放控制协议

4,网络结构中每一层常见的设备

 

物理层:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层传输的单位是比特。常见设备:中继器、集线器。

数据链路层:将网络层的IP数据报封装成帧进行传输。每一帧都包含必要的控制信息。因为在物理层传输的是“010101010”这样的二进制位,为了有效,因此需要数据链路层做这件事【对电信号来做分组的】。常见设备:网桥,交换机。

网络层:路由器,网关

5,数据链路层

三个工作:封装成帧、透明传输、差错检验

(1)封装成帧:帧 = 帧首部(SOH)+帧的数据(IP数据报)+帧尾部EOT

         数据部分最长上限叫做最大传送单元MTU。

(2)透明传输:因为传送的过程中,帧的数据部分可能存在EOT(恰巧相同了)。那么此时需要忽略掉帧数据中的EOT。方法(字节填充、字符填充):在EOT前面+转义字符(ESC) 。

          帧 = SOH + [.....EOT....EOT] +EOT  => 帧 = SOH + [...ECS+EOT.....ECS+EOT] +EOT

(3)差错检验:传输过程中可能会出现错误,然后检查这个错误(比特差错)。

循环冗余校验(CRC):是在传输数据后面添加n位冗余码,构成一个帧发送出去。

(1)首先由接收方和传送方拟定一个P(x)。

(2)再M的末尾 加上 P(x)的最高阶个0。然后用  M+(000)r个 除以P。得到的余数就是冗余码。冗余码也叫作帧检验序列(FCS)。

一般题目给出的P(x) 是这样的形式: P(x) = x^3+x^2+1 。这代表除数为 1101。P(x)叫做生成多项式。

110001 有 6 位,因此代表了一个有 6 项的多项式,其系数分别为 1 、 1 、 0、 0、 0 和 1 。即 1*x^5 + 1*x^4+0*x^3+0*x^2+0*x^1+1*x^0.

所以P的最高阶为3,因此在M后面添加3个0。假定M=101001 那么 被除数为 101001 000.

取三位的原因是因为P的最高阶为3,取的是r位冗余码。故为001。

所以最终的发送为 101001 001.

接收端:用接收到的除以P。

如果R=0,那么接受,无错误。

如果R 不等于0,那么就出错了。注意:不能确定发生错误点,可能好多位都发生错误了。如果仅有一位出错,那么就直接将余数转成10进制。10进制对应的位数就是错误的位数。这个例子可以看参考链接2.

参考:【1】https://www.jianshu.com/p/7f4fd7f62de2

           【2】https://blog.csdn.net/sailist/article/details/83588406

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Foneone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值