计算机网络常见面试题总结(上)

news/2024/9/22 22:25:11

计算机网络常见面试题总结(上)

OSI七层模型

应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。每一层都为上一层提供服务

TCP/IP四层模型

应用层,传输层,网络层,网络接口层,各层相互独立,为上层提供服务

常见的网络协议

应用层:HTTP,超文本传输协议,浏览器网页使用的就是HTTP请求加载的。SMTP,简单邮件发送协议,只复制发送电子邮件,不负责接收。FTP,文件传输协议,可以传输文件,但是是一种不安全的协议

传输层:TCP(传输控制协议),面向连接的可靠的数据传输服务。UDP(用户数据协议)提供无连接的数据传输服务,不保证可靠性,简单高效

网络层:IP(网际协议)定义数据包的格式,对数据包进行路由找到正确的目的地,IPv4和IPv6都有在使用

从URL到页面展示发生了什么

在浏览器输入指定的URL ==> 浏览器通过DNS协议,获取域名对应的IP地址 ==> 浏览器通过IP地址和端口号,向目标服务器发送一个TCP连接请求 ==> 建立TCP连接后,发送HTTP请求,请求获取网页数据 ==> 服务器收到HTTP请求并处理请求,响应给浏览器HTTP报文 ==> 浏览器接收到响应之后解析响应中的HTML,同时根据HTML中的其他URL获取相应资源知道网页全部加载 ==> 浏览器不需要和服务器通信时,可以主动关闭TCP连接,或者等待服务器的关闭请求。

HTTP状态码

1XX 接收的请求正在处理。2XX 请求正常处理完毕。3XX 重定向状态码。 4XX 客户端错误状态码。 5XX服务端后端错误状态码

HTTP和HTTPS区别

端口号:HTTP默认是80,HTTP默认是443。

URL前缀:HTTP前缀是http://,HTTPS是https://。

安全:HTTP运行再TCP之上,传输内容都是明文,客户端和服务端都无法验证对方身份。SSL/TLS运行在TCP上,HTTPS是运行在SSL/TLS上的HTTP协议,传输内容都使用了对称加密,对称加密的密钥用服务器证书进行了非对称加密,HTTPS安全性更高,但会耗费更多的服务器资源。

搜索引擎优化(SEO):搜索引擎通常会在搜索结果中展示HTTPS协议的网站,因为其安全性和隐私性。

HTTP1.1和HTTP1.0区别

连接方式:HTTP/1.0为短连接,HTTP/1.1为长连接,HTTP长短连接实际上是TCP协议的长短连接

状态响应码:HTTP1.1加入了大量的状态码,比如100 请求大资源前的预热请求,410,资源已被永久转移而且没有任何已知转发的地址

缓存机制:HTTP1.1有更多的缓存控制策略

带宽:HTTP1.0存在浪费带宽,不支持断点续传,HTTP1.1引入了range头域,运行只请求资源的某个部分,方便开发,充分利用带宽

Host头:HTTP1.1允许一个IP托管多个域名,实现虚拟主机的功能。

HTTP1.1和HTTP2.0区别

多路复用:HTTP2.0在同一连接上同时传输和响应多个请求,互不干扰,HTTP/1.1使用串行方式,需要独立的连接。HTTP2.0更加高效,减少了网络延迟,提高了性能。

二进制帧:HTTP2.0使用二进制帧传输数据,而HTTP1.1使用的是文本格式的报文,二进制帧更加紧凑和高效,减少了传输数据量和带宽消耗

头部压缩:HTTP1.1仅支持body压缩,HTTP2.0提供了对Header的压缩和对其压缩的算法HPACK算法,减少了网络开销

服务器推送:HTTP2.0支持服务器推送,当请求一个资源时,将其他资源一并推送给客户端,减少了客户端的请求次数和延迟,而HTTP1.1需要客户端自己去请求相关资源,、

HTTP2.0和HTTP3.0区别

传输协议:HTTP2.0是基于TCP协议实现的,HTTP3.0是QUIC实现的,提供与TLS/SSL相当的安全性,具有较低的连接和传输延迟,可以将QUIC看作UDP的升级版本,新增了比如加密重传等功能

连接建立:HTTP2.0需要TCP三次握手,TLS还需要握手,共需要大概3个RTT,HTTP3.0只需要0,1个RTT就可以建立连接

队头阻塞:HTTP2.0多请求复用一个TCP连接,一旦发生丢包,会阻塞所有的HTTP请求,HTTP3.0一个连接建立多个数据流,多个数据流之间独立不影响,本质上是多路复用加轮询

错误传输:HTTP3.0可以更快恢复很重传,HTTP2.0则需要依赖TCP的错误恢复机制

安全性:HTTP3.0QUIC HTTP2.0TLS,3.0能提供更好的安全性

HTTP如何保存用户状态

HTTP是一种无状态协议,使用session保存用户状态

URL和URI的区别

URI:统一资源标识符,可以唯一标识一个资源。URL:统一资源定位符,用于定位一个资源。URL可以理解为一种具体的URI。

GET和POST的区别

语义:GET通常用于获取资源,POST通常用于修改资源

幂等:GET幂等,多次重复请求不改变资源,POST不幂等,每次请求产生不同结果

格式:GET请求参数放在URL中(URL长度收到限制),POST请求参数放在请求体(body)中,body没有明确限制

缓存:GET请求会被浏览器获取网关,代理缓存,POST不会,需要实时的响应

安全性:如果使用HTTP协议的话都不安全,必须使用HTTPS来加密传输协议,GET比POST更容易泄露数据,因为其数据都在URL中

什么是WebSocket

是一种基于TCP的全双工通信协议,客户端和服务端可以同时发生和接收数据,可以在浏览器,很多编程语言,框架和服务器都能使用,WebSocket是应用层的协议,仅需一次握手,即可建立持久性连接,并进行双向数据通信。

常用应用场景,视频弹幕,实时消息推送,社交聊天

WebSocket和HTTP有什么区别

都是基于TCP的应用层协议

区别如下

WebSocket是双向实时通信,HTTP是单向通信协议,HTTP通信只能由客户端发起,服务端无法主动通知客户端。

WebSocket使用 ws:// 或 wss:// HTTP使用http:// 和 https://作为协议前缀

WebSocket可以支持扩展,用户可以扩展协议,支持自定义协议

WebSocket通信数据格式轻量,协议控制数据包头部小,网络开销小,HTTP网络开销大

WebSocket工作过程

  1. 客户端向服务器发送一个HTTP请求,请求头中包含Upgrade:websocket等字段,表示升级协议为WebSocket

  2. 服务端收到请求,如果支持该协议,回复HTTP101,响应头包含一些字段,表示升级成功

  3. 建立了一个WebSocket连接,以帧为单位进行双向数据传输,,接收端将帧重新组装成完整消息

SSE与WebSocket有什么区别

两者都可以建立服务端和浏览器之间的通信,实现服务端向客户端的消息推送

区别

  1. SSE基于HTTP,不需要特殊的服务器和协议,WebSocket需要单独的服务器处理协议

  2. SSE单向通信,只能服务端给客户端,WebSocket双向通信

  3. SSE无需引入组件,WebSocket传输数据需要二次解析

  4. SSE支持断线重连,WebSocket断线需要自己连接

  5. SSE只能传文本,二进制数据需要编码,WebSocket默认支持二进制数据

某些情况,不需要客户端发送数据,只需要服务器操作的更新,比如状态更新,股票行情,SSE更有优势,自动重新连接等

PING命令

网络诊断工具,用于测试主机间的连通性和网络延迟

ICMP Echo Request 请求报文:序列号,TTL

目标主机的域名或者IP地址

往返时间,发送请求报文到接收响应报文的时间

统计结果,丢包率,往返时间,最大,最小,平均等数据

如果无法得到正确的响应,连通性存在问题

PING命令的工作原理

基于网络层的ICMP,主要原理就是,在网络上发送和接收ICMP报文实现的

ICMP有类型字段,标识报文类型。查询报文类型:向目标主机发送请求期望响应。差错报文类型:向源主机发送错误信息,用于报告网络中的错误情况

PING用的属于查询报文类型,PING命令向目标主机发送ICMP Echo Request 类型为 8,如果连通正常,目标主机会返回ICMP Echo Reply

DNS

DNS是浏览器访问网址用到的第一个协议,用户结局域名和IP映射,浏览器DNS缓存,操作系统DNS缓存,路由器DNS缓存,如果都查询不到,就会使用到DNS,设计是分布式,层次数据库结构,是应用层协议,运行在TCP或UDP之上,端口为53

DNS服务器有哪些

自底向上分为以下几个层级

  • 根DNS服务器:提供TLD服务器的IP地址

  • 顶级域DNS服务器(TLD服务器):指域名后缀,如com,org,net,edu等TLD服务器提供了权威的DNS服务器IP地址

  • 权威DNS服务器:在因特网上具有公共主机的组织必须提供DNS记录,用于将主机名映射为IP地址

  • 本地DNS服务器:每个ISP都有本地的DNS服务器,将主机发的请求将请求转发到DNS层次结构中,严格讲不属于DNS层次结构

DNS劫持

是一种网络攻击,会修改DNS的解析结果,将用户的访问的域名指向错误的IP地址,导致用户无法访问正常的网站,或背引到恶意的网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/31355.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

一次性临时gmail邮箱 API免费调用

iDataRiver平台 https://idatariver.com 提供免费的临时邮箱API, 可自动获取随机邮件内容如果你不想在某些平台注册时使用自己的邮箱,可以使用iDataRiver平台 提供的一次性匿名邮箱API,可每次随机获取一个临时邮箱,支持gmail,重点是免费使用。 临时邮箱API文档 https://…

[HNCTF] maybe_xor题解

maybe_xor 感觉这道逆向题与其说是考逆向水平,倒不如说是考编写脚本的能力 首先题目给了个远程地址,nc连接会回显ELF: 接一串base64编码的东东,解码后发现是ELF文件。 用IDA打开发现是从数据段读取24个字节到栈上并进行异或,每个字节异或的值都不同,但异或后的结果不会写回…

Springboot+React实现Minio文件分片上传、断点续传

前言 本文采用前后端结合,后端给前端每个分片的上传临时凭证,前端请求临时url,通过后端间接的去上传分片。其实无关乎 vue 或者 react,思路都是一样的,逻辑也全都是 js 写的,跟模板语法或者 jsx 也没关系,仅仅是赋值不一样而已。 前端:React + TypeScript + Antd + axi…

P6577 【模板】二分图最大权完美匹配 (KM)

$\quad $ 初看就发现不对劲了,模板紫题,一看就不简单,就交了个裸\(KM\),哎,果然\(T\)了。$\quad $ 然后就是大力卡常(当然\(O(n^4)\))的复杂度不是卡常能解决的。遂看题解,发现一个据说\(O(n^3)\)的复杂度的\(KM\),也是非常抽象。 具体解释详见 https://www.luogu.com…

传说中的运维门户设计

在IT服务管理这片广阔天地中,运维门户如同一位技艺高超的魔术师,轻轻一挥手,便将纷繁复杂的运维世界化繁为简,编织成一张便捷高效、触手可及的网络。它不仅是ITSM系统中不可或缺的一环,更是连接用户与技术世界的桥梁,让服务触达变得像呼吸一样自然。 运维门户,这个听起来…

中电金信:专题报告商业银行对公数字化转型体系架构及实践拆解

当今,数字化转型已然成为商业银行发展的关键动力,在这个数字时代,对公业务数字化转型更是势在必行。基于此,中电金信发布《商业银行对公数字化转型专题报告》(简称《报告》),针对对公数字化转型进行了专题研究。报告对主要商业银行对公数字化转型进行了深入的业务调研和…

「网络流浅谈」最大流的应用

讲解了最大流的多种模型,从二分图匹配到拆点技巧,带你参观最大流的神秘。二分图匹配 考虑如何将二分图匹配问题,转化为流网络。设置 \(1\) 个汇点和源点,从源点向二分图一侧的每一个点连边,从另一侧向汇点连边,边权均为 \(1\),二分图中的边也全部加入,权值设为 \(1\)。…

单元测试

实验项目名称:实验四 单元测试2一、 实验目的 1、 掌握单元测试技术,并按单元测试的要求设计测试用例。  2、 掌握一种单元测试工具的使用。 二、 实验内容 自行学习C#或python或C++的其中一种单元测试工具的使用,自选一段单元代码(不少于15行),进行测试。完成实验报告…