面试必问的网络知识,都在这100道题里了(值得收藏)

计算机网络模型

1、五层因特网协议栈和七层OSI(Open System Interconnections)参考模型分别是什么?

5层:应用层、传输层、网络层、数据链路层、物理层
7层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

2、为什么考虑分层的架构,有什么优势和缺陷?

分层优势

协议分层具有概念化和结构化的优点。分层提供了一种结构化方式来讨论系统组件。模块化使更新系统组件更为容易。

分层缺陷

分层的一个潜在缺点是一层可能冗余较低层的功能。例如,许多协议栈在基于每段链路和基于端到端两种情况下,都提供了差错恢复。第二种潜在的缺点是某层的功能可能需要仅在其他某层才出现的信息(如时间戳值),这违反了层次分离的目标。

3、每一层的功能和作用分别是什么?每一层的传输数据类型是什么?

应用层(数据):确定两个通信端点上的进程之间通信的性质以满足用户需要以及提供网络与用户应用

表示层(数据):主要解决拥护信息的语法表示问题,如加密解密

会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的

传输层(段):提供应用进程之间的逻辑通信,实现网络不同主机上用户进程之间的数据通信,可靠与不可靠的传输,传输层的错误检测,流量控制等

网络层(包):提供主机之间的逻辑通信,提供逻辑地址(IP)、选路,数据从源端到目的端的传输

数据链路层(帧):将上层数据封装成帧,用 MAC 地址访问媒介,错误检测与修正

物理层(比特流):设备之间比特流的传输,物理接口,电气特性等

4、每一层使用哪些数据交换设备?

网关:应用层、传输层(网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连)

路由器:网络层(路由选择、存储转发)

交换机:数据链路层、网络层(识别数据包中的 MAC 地址信息,根据 MAC 地址进行转发,并将这些 MAC 地址与对应的端口记录在自己内部的一个地址表中)

网桥:数据链路层(将两个 LAN 连起来,根据 MAC 地址来转发帧)

集线器(Hub):物理层(纯硬件设备,主要用来连接计算机等网络终端

中继器:物理层(在比特级别对网络信号进行再生和重定时,从而使得它们能够在网络上传输更长的距离)

应用层

5、主流的应用程序体系结构是哪些?他们的优缺点是什么?

C/S模式(客户机/服务器)、P2P模式(对等方)、混合模式。

6、同一主机下和不同主机下的进程间是如何通信的?

同一主机下的进程间通信由操作系统决定。 不同的主机下的进程间通信通过消息/报文交换完成。

7、什么是套接字socket?套接字是用来干什么的?

套接字是个API,是应用程序和网络的接口。进程可类比于一座房子,而它的套接字可以类比于它的门。当一个进程想向位于另外一台主机上的另一个进程发送报文时,它把报文推出该门。

8、进程如何寻址?

主机地址(ip)+目的主机中指定接收进程的标识符(端口号)

9、应用层协议定义了哪些东西?

1.交换的报文的类型:请求报文或相应报文 2.报文类型的语法,每个字段是如何描述的 3.字段的语义 4.确定一个进程何时以及如何发送报文,以及报文的相应规则

10、web应用程序的应用层协议是什么?什么是无状态协议?

HTTP:超文本传输协议。所谓的无状态协议是指服务器向客户发送被请求的文件,而不存储任何关于该客户的状态信息。HTTP协议就是无状态协议。web应用利用cookie技术作为补充,弥补了HTTP协议无状态带来的可能缺陷。

11、什么是URL?格式是什么样的?

URL:统一资源定位器。用于web页面中对象的寻址,引用对应的对象。 一个web页面由多个对象组成,包括一个html基本文件和引用对象。引用对象用URL地址标识。

URL格式:协议://主机名/路径名(http://www.baidu.com/documents)(…

12、什么是持续连接和非持续连接?概念前提是什么?优缺点分别是什么?http协议采用哪种连接方式?

考虑每个请求/响应是经过一个独立的TCP连接发送,还是所有的请求/响应经过相同的TCP连接发送。

前者为非持续连接(串行/并行),后者是持续连接(带流水/不带流水)。

前提:C/S模式,TCP???

HTTP协议既可以使用持续连接也可以使用非持续连接。默认情况下使用带流水线的持续连接。

带流水线的持续连接:http客户机遇到一个对象引用就发送一个请求,而不用等到前一个请求响应后再发送。

13、http报文类型及相应的报文格式

http请求报文格式:URL只包含路径名,主机名在首部行中hosts

http响应报文格式

14、http请求报文常用方法有哪些?分别是什么作用?

HTTP1.0:GET、POST、HEAD HTTP1.1:GET、POST、HEAD、PUT、DELETE

GET:请求对象
POST:上传表单,一般放在实体体
HEAD:发送请求但不返回请求对象,常用于调试跟踪
PUT:允许用户上传对象到服务器
DELETE:允许用户删除服务器的某些对象

15、GET请求和POST请求的区别?

1.第一点区别:HTTP报文层面,GET将请求信息放到URL,请求信息与URL之间使用问号隔开,请求信息格式是键值对的形式,POST将请求信息放在报文体中,获取请求信息必须解析报文。GET请求是放在URL中的,URL本身是没有长度限制的,但是浏览器是有长度限制的,会对URL进行长度限制。POST是将请求信息放到报文体中的,所以对URL是没有长度限制的。
2.第二点区别:数据库层面,GET符合幂等性(对数据库的一次操作或者多次操作的结果是一致的,则认为符合幂等性)和安全性(对数据库的操作没有改变数据库的数据,则认为符合安全性的,GET操作是做查询操作的,因此不会改变数据库里面的数据),POST不符合(POST请求既不幂等也不安全,POST会向数据库中提交数据,所以会改变数据库里面的数据,POST每次获取到的结果都有可能不一样的,因为POST请求是作用在上一级的URL上面的,每一次请求都会添加新资源)。
3.第三点区别:GET请求可以被缓存(可以保存到浏览器的浏览记录中),被存储(GET请求URL可以被保存为浏览器书签),但是POST不行。

相关视频推荐

后台开发第421讲|10道网络八股文,每道都很经典,让你在面试中逼格满满 1. tcp在listen时的参数backlog的意义? 2. accept发生在三次

需要C/C++ Linux服务器架构师学习资料加群956314242获取(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享

16、http响应报文常见状态码和相关短语有哪些?分别什么含义?

HTTP状态码

1xx,指示信息,表示请求已接收,继续处理。
2xx,成功,表示请求已被成功接收、理解、接受。
3xx,重定向,要完成请求必须进行更进一步的操作。
4xx,客户端错误,请求有语法错误或者请求无法实现。
5xx,服务器端错误,服务器未能实现合法的请求。

HTTP相关短语

200 OK:请求成功,信息返回在响应报文中
301 Moved Permanently:请求的对象被永久转移,新的URL定义在响应报文的首部行Location中
400 Bad Request:通用差错代码,表示请求不能被服务器响应
401 Unauthorized:请求未经授权
403 Forbidden:服务器收到请求但是拒绝服务
404 Not Found:请求的文档不在服务器上
500 Internal Server Error:服务器发生不可预期的错误
503 Server Unaviable:服务器当前不能处理客户机请求
505 HTTP Version Not Supported:服务器不支持请求报文使用的http协议版本

17、简述http请求响应的流程步骤。

1.客户端连接到web服务器,一个http客户端通常是浏览器与web服务器的http端口,默认端口号是80,建立一个tcp套接字连接。
2.然后发送http请求,即通过tcp套接字,客户端向web服务器发送一个文本的请求报文。
3.然后服务器接受到客户端的请求并返回HTTP响应。web服务器解析该请求定位请求资源,服务器将资源副本写到tcp套接字由客户端读取。
4.然后释放TCP连接。若连接模式是CLOSE,则服务器主动关闭tcp连接,客户端被动关闭tcp连接,释放tcp连接。若连接模式是keep alive,咋该连接会保持一段时间,在该时间内可以继续接受请求。
5.然后客户端浏览器解析HTML内容。并进行解析,客户端浏览器首先解析状态行,查看表名请求是否成功的状态代码,然后解析每一个响应头,响应头告知以下若干字节的HTML文档和文档的字符集,客户端浏览器读取响应数据HTML,根据html语法对其进行格式化,并在浏览器窗口中进行解释。

18、什么是cookie?其四大组件是什么?

cookie内容

cookie技术允许站点对用户进行跟踪。因为HTTP是无状态的,意味着每次访问有登录页面的需求的时候,都要输入账号和密码。Cookie技术是客户端的解决方案,是由服务器发送给客户端的特殊信息,以文本的形式存放在客户端。客户端每次向服务器发送请求的时候都会带上这些特殊信息,比如当客户使用浏览器访问支持Cookie的网站的时候,需要输入账号和密码提到到服务器,服务器向客户端回应超文本的同时将个人信息返回,个人信息不是存放在响应体http body中,而是保存到HTTP响应头http header中的,当客户端接收服务器的响应以后,浏览器将这些信息存放到统一位置。客户端再次请求的时候,会把Cookie发送到服务器中,Cookie信息存放到http响应头中。服务器接收到客户端浏览器的请求以后,会分析存放在请求头中的Cookie信息,得到客户端特有的信息,从而动态生成与该客户端相对应的内容。

cookie技术四大组件

1.在HTTP响应报文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值