美文网首页
计算机网络面试题

计算机网络面试题

作者: 红茶玛奇朵鸭 | 来源:发表于2019-08-16 22:12 被阅读0次

文章的目的主要是针对面试官的提问,做出尽可能精简而全面的回答。若读者对某块的知识不能太理解,还请参阅其他大佬比较详细的博客或者专业书籍,谢谢大家。


一、TCP与UDP的区别

二、TCP三次握手与四次挥手

三、为什么要三次挥手,两次行不行

四、为什么客户端最后还需要等待2*MSL

五、为什么建立连接时是三次握手,而释放连接时是四次挥手

六、如果建立了连接客户端出现了故障

七、TCP协议如何保证传输的可靠性

八、HTTP请求/响应报文结构

HTTP请求报文结构:

一个HTTP请求报文由四个部分组成:请求行、请求头部、空行和请求数据。

1.请求行:由请求方法字段、URL字段和HTTP协议版本字段三个字段组成,它们用空格分隔。

2.请求头部:

3.空行:作用就是通过一个空行告诉服务器请求头部到此为止。

4.请求数据:如果方法字段为GET,则此项为空,没有数据。方法字段为POST,此处放置的就是要提交的数据。

HTTP请求报文结构 HTTP请求报文

HTTP响应报文结构:

1.响应行:由协议版本、状态码和状态码描述三个字段组成,之间用空格隔开。

2.响应头部:

3.空行:作用就是通过一个空行告诉客户端响应头部到此为止。

4.响应数据(正文):

HTTP响应报文

九、HTTP协议状态码

状态码的类别

十、URL与URI的区别

URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符)。

URI:(Uniform Resource Identifier 的缩写,统一资源标识符)(代表一种标准)。

        URI 属于 URL 更高层次的抽象,一种字符串文本标准。就是说,URI 属于父类,而 URL 属于 URI 的子类。URL 是 URI 的一个子集。二者的区别在于,URI 表示请求服务器的路径,定义这么一个资源。而 URL 同时说明要如何访问这个资源(http://)

十一、HTTP请求方法

这里仅列出HTTP1.1所支持的方法

1.GET:请求资源。请求访问已被URI识别的资源,指定的资源经服务器端解析后返回响应内容。

2.POST:传输实体主体。(虽然用 GET 方法也可以传输实体的主体,但一般不用 GET 方法进行传输,而是用 POST 方法。虽说 POST 的功能与 GET 很相似,但POST 的主要目的并不是获取响应的主体内容。)

3.HEAD:获取报文首部。HEAD 方法和 GET 方法一样,只是不返回报文主体部分。用于确认URI 的有效性及资源更新的日期时间等。

4.PUT:传输文件。在请求报文的主体中包含文件内容,然后保存到请求 URI 指定的位置。(鉴于 HTTP/1.1 的 PUT 方法自身不带验证机制,任何人都可以上传文件 , 存在安全性问题,因此一般的 Web 网站不使用该方法。)

5.DELETE:删除文件。DELETE 方法用来删除文件,是与 PUT 相反的方法。DELETE 方法按请求 URI 删除指定的资源。(但是,HTTP/1.1 的 DELETE 方法本身和 PUT 方法一样不带验证机制,所以一般的 Web 网站也不使用 DELETE 方法。)

6.OPTIONS:询问支持的方法。OPTIONS 方法用来查询针对请求 URI 指定的资源支持的方法。

(7和8比较难理解)

7.TRACE:追踪路径。TRACE 方法是让 Web 服务器端将之前的请求通信环回给客户端的方法。(客户端通过 TRACE 方法可以查询发送出去的请求是怎样被加工修改/ 篡改的。这是因为,请求想要连接到源目标服务器可能会通过代理中转,TRACE 方法就是用来确认连接过程中发生的一系列操作。)

8.CONNECT:要求用隧道协议连接代理。

十二、GET方法与POST方法的区别

1.GET方法参数通过URL传递,而post方法参数放在请求体中。

2.GET方法在URL中传递的参数是有限制的(原则上url 长度无限制,但大多数浏览器通常都会限制url 长度在2k(2048字节byte))),而POST方法理论上没有(实际上IIS4中最大量为80k,IIS5中为100k)。

3.正是因为参数暴露在URL上,GET方法比POST方法更不安全,因此不能用来传输敏感信息。

4.GET方法参数会被完整地保留在浏览器历史记录中,而POST方法不会。

5.GET只接受ASCII 码字符,而POST没有限制。

6.GET请求只能进行url 编码,而POST支持多种编码方式。

7.GET产生的URL地址可以被bookmark, POST则不可以。

8.GET请求会被浏览器主动cache,而POST不会,除非手动设置。

9.GET在浏览器回退时是无害的,而POST会再次提交请求。

10.一个重大区别:GET产生一个TCP数据包;POST产生两个TCP数据包。

        对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。(并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次)

十三、HTTP与HTTPS的区别

        HTTP协议运行在TCP之上,明文传输,客户端和服务器都无法验证对方身份。HTTPS是身披SSL外壳的HTTP,运行在SSL之上,SSL运行在TCP之上,是添加了加密与认证机制的HTTP。

        两者不同点:

1.端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443。

2.资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源。

3.开销:Https通信需要证书,而证书一般需要向认证机构购买。

        HTTPS工作原理:

十四、对称加密与非对称加密

        


g持续更新!!!!!觉得如果有帮助到你,麻烦评论喜欢加关注哟。

相关文章

  • 计网总结

    计算机网络常见面试题总结 - CSDN博客 常见面试题整理--计算机网络篇 - midiyu - 博客园 计算机网...

  • 常见面试题之计算机网络

    title: 常见面试题之计算机网络 categories: [网络] tags: [面试题] date: 202...

  • 持续输出面试题之计算机网络篇

    开篇介绍 大家好,我是Java最全面试题库的提裤姐,今天这篇是计算机网络,主要总结了计算机网络相关的面试题;在后续...

  • Golang面试之TCP/IP协议

    引用 关于TCP/IP的面试题 计算机网络——OSI、TCP/IP协议族详解 计算机网络【七】:可靠传输的实现 T...

  • 计网面试题,怎能不盘它

    计算机网络一直是面试最头疼的问题,在这里,整理一份计算机网络相关的面试题,提高复习效率,节省更多的时间。 1、OS...

  • 万字长文总结计算机网络核心知识点(建议收藏)

    之前总结了一次TCP/HTTP的面试题,这次又补充了一些其他计算机网络的面试题,为方便阅读整理到了一起,并按照面试...

  • 计算机网络面试题整理

    计算机网络面试题整理 咱们来回顾一下上次分享到的mongodb的安装和使用 mongodb 的介绍 mongodb...

  • 280页《前端校招面试真题解析大全》

    前言 前端校招面试题主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化...

  • 计算机网络面试题

    [TOC] 计算机网络面试题 下面列出了常见的常见网络面试问题和答案 1)什么是网络? 网络是与物理媒体链路连接的...

  • 测试同学必备的网络知识

    对于测试同学来说,计算机网络的基础知识是必不可少的,话不多说,先来整理一波高频网络面试题。 一、HTTP协议的请求...

网友评论

      本文标题:计算机网络面试题

      本文链接:https://www.haomeiwen.com/subject/zfgqsctx.html