月黑雁飞高,计网全知道——精选22道计网面试题目

文章目录计算机网络知识1、HTTP协议版本2、HTTP的几种请求方法用途2.1 HTTPS2.2 HTTP报文的组成部分2.2.1 请求报文2.2.2 响应报文2.3 Https和Http对比3、从浏览器输入url到显示页面的步骤4、三次握手与四次挥手三次握手:SYN、ACK四次挥手5、web性能优化技术6、网站性能优化7、Http状态码以及含义8、cookies、sessionStorage和localStorage的区别9、多域名存储网络资源的好处10、浏览器生成http请求消息11、OSI模型12、TCP/IP模型13、UDP14、TCP14.1 标识符14.2 TCP拥塞控制15、安全问题CSRF和XSS15.1 CSRF:跨站请求伪造15.2 XSS:跨域脚本攻击15.3 两者的区别16、cookie16.1 cookie原理16.2 cookie的属性17、token18、cookie,session,token19、URI20、三大交换方式:21、时延22、WEB页面请求过程:最后

计算机网络知识
1、HTTP协议版本

http 0.9

只有一个GET命令,服务器只能回应HTML格式的字符串

http 1.0

引入了POST和http数据头部
每个TCP请求只能发送一个请求,发送数据完毕后,连接就关闭
头信息是ASCII码,后面数据可为任何形式,服务器回应时会告诉客户端,数据是什么格式,即Content-Type字段的作用

http 1.1

新增方法PUT、PATCH、OPTIONS、DELETE
引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用。
同一个TCP连接中,所有数据通信都是依次进行,容易造成队头阻塞

http 2.0

头信息和数据体都是二进制,称为头信息帧和数据帧
复用TCP连接,在同一连接中,客户端和浏览器都可以同时发送多个请求或者回应,且不用按照顺序一一对应,避免了“队头堵塞”,此时双向的实时通信称为多工
引入头信息压缩机制;客户端和服务器同时维护一张头信息表,所有字段都会存入这个表生成一个索引号,不发送同样字段只发送索引号,提高速度。
允许服务器未经请求、主动向客户端发送资源,即服务器推送

http1.0和http1.1的区别

长连接:http1.1支持长连接和请求的流水线处理
缓存处理:http1.1引入更多缓存控制策略
带宽优化和网络连接使用
错误通知的管理
Host头处理

2、HTTP的几种请求方法用途

GET:发送一个请求来获取服务器上的某一些资源
POST:向URL指定的资源提交数据或附加新的数据,没有指定资源在服务器的位置
PUT:可以向服务器提交数据,并指定了资源在服务器的位置
HEAD:请求页面的首部
DELETE:删除服务器上的某西苑
OPTIONS:用于获取当前URL所支持的方法,请求成功后会在Allow的头包含类似GET、POST等信息
TARCE:用于激发一个远程的应用层的请求消息回路
CONNECT:把请求连接转到TCP/TP通道

GET和POST的区别

GET用于信息获取,使用URL传递参数,发送信息的数量有限
POST是用于修改服务器上的资源

HTTP协议的主要特点

简单快速
灵活可扩展
无连接
可靠传输

HTTP缺点

无状态
明文传输
队头阻塞

2.1 HTTPS

​ HTTP协议是承载与TCP协议上的,在HTTP和TCP之间添加一个安全协议,SSL或者TSL,就是HTTPS

2.2 HTTP报文的组成部分
2.2.1 请求报文

请求行

请求方法
请求URL
HTTP协议以及版本

请求头

一堆键值对

空行

表明后面的内容是请求体

请求体

请求数据

2.2.2 响应报文

状态行

HTTP协议和版本
状态码
状态描述

响应头
空行
响应体

2.3 Https和Http对比

传输方式

http传输方式:明文传输、网站或相关服务与用户之间的数据交互无加密,容易被监听,篡改
https传输方式:在HTTP加入了SSL层,用户数据传输加密

身份认证

http:无身份认证,用户无法通过http辨认出网站的真实身份
https:经过CA多重认证,包含域名管理权限认证等

成本

http:无任何使用成本,所有网站默认都是http模式
https:需要成本,需要申请SSL整数来实现https

连接端口

http:80
https:443

3、从浏览器输入url到显示页面的步骤

浏览器查找域名的IP地址:

查找浏览器缓存:DNS记录
查找系统缓存:hosts文件
查找路由器缓存:DNS缓存
递归查询
迭代查询

浏览器与目标服务器建立TCP连接

通过DNS解析找到IP地址建立TCP连接
三次握手

浏览器通过http协议发送请求

浏览器向主机发送一个HTTP—GET方法报文请求。

某些服务器会做永久重定向响应

重定向的作用:为了负载均衡或者导入流量,提高SEO排名,利用一个前端服务器接受请求,然后负载到不同的主机上,可以大大提高站点的业务并发处理能力;重定向也可将多个域名的访问,集中到一个站点;

浏览器跟踪重定向地址
服务器处理请求
服务器发送一个HTML响应
释放TCP连接
浏览器显示页面
浏览器发送获取嵌入在HTML中的其他内容

4、三次握手与四次挥手
三次握手:SYN、ACK

建立连接时,客户端发送SYN包到服务器,并进去SYN_SENT状态,等待服务器确认,其中SYN就是同步序列编号

服务器收到SYN包,必须确认客户的SYN包,同时自己特发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态

客户端接收服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

第三次握手:防止失效的连接请求报文段被服务器端接收,从而导致错误

四次挥手

主动关闭的一方,发送一个FIN传送数据,用来告诉对方,不会再给你主动发送数据了。此时主动关闭的一方还可以接受数据
被动关闭放收到FIN包,发送ACK给对方,确认序号
被动关闭放 发送一个FIN给关闭方,说不会再给你发送数据了
主动关闭方收到FIN、发送给ACK,用来确认序号

5、web性能优化技术

​ 减少客户端忘了延迟和优化页面渲染性能来提升web性能

DNS查询优化
客户端缓存
优化TCP连接
避免重定向
网络边缘的缓存
条件缓存
压缩和代码极简化
图片优化

6、网站性能优化

内容方面:减少HTTP请求(合并文件、CSS精灵)减少DNS查询(DNS缓存,将资源分布到合适的数量的主机名)、减少DOM元素的数量
Cookie方面,减少其大小
css方面,将样式表放到页面顶部;不使用css表达式;压缩css,css从外部引入
优化代码以及图片

7、Http状态码以及含义

1XX 为信息状态码

100 为继续,表示确认,成功返回具体参数信息

2XX 成功

200 正常返回信息
201表示请求成功并且服务器创建了新的资源
202 表示服务器已接收请求但尚未处理

3XX 重定向

301 永久重定向
302 临时性重定向
303 临时重定向,且总是使用GET请求新的URl
304 自从上次请求后,请求的页面未修改过

4XX 客户端错误

404 未找到
401 请求未授权
403 禁止访问

5XX 服务器错误

500 常见的服务器错误
503 服务器暂时无法处理请求,可能是过载或维护

8、cookies、sessionStorage和localStorage的区别

cookie是网站用来标识用户省份而存储在用户本地终端上的数据
cookie的数据始终在同源的http请求中携带,即使是不需要的情况,所以其会在浏览器和服务器中间来回传递
sessionStorage和localStorage不会自动把数据发送给服务器,仅仅在本地保存
存储大小

cookie的数据大小不能超过4K,sessionStorage和localStorage可以达到5M或更多

有限期时间

localStorage存储持久数据,浏览器关闭后数据不会丢失,除非主动删除
sessionStorage数据在当前浏览器窗口关闭后自动删除
设置过cookie过期时间之前都有效,就算关闭窗口或者浏览器关闭

9、多域名存储网络资源的好处

CDN缓存更加方便
突破浏览器并发限制
节约cookie带宽
节约主域名的连接数,优化页面响应速度
防止不必要的安全问题

10、浏览器生成http请求消息
11、OSI模型

物理层::考虑的是怎么在传输媒体上传输数据比特流,尽可能的屏蔽传输媒体和通信手段的差异。(中继器。)
数据链路层:互联设备之间传送和识别数据帧(网桥)
网络层:地址管理与路由选择(路由器)
传输层:管理两个节点之间的数据传输(TCP、UDP)
会话层:通信管理、负责奖励和断开通信连接
表示层:设备固有数据格式和网络标准数据格式的转换
应用层:对特定应用的协议(HTTP、FTP)

12、TCP/IP模型

应用层:决定了想用户提供应用服务时通信的活动(HTTP、FTP)
传输层:对应上层应用层,提供处于网络连接中两台计算机之间的数据传输(TCP、UDP)
网络层:用来处理网络上流动的数据包(因特网协议IP)
链路层:用来处理连接网络的硬件部分(以太网、WI-FI)

13、UDP

UDP面向报文的协议,不会对报文进行任何拆分和拼接操作,头部只有8字节
是无连接的、不可靠的、没有拥塞控制、会出现丢包

14、TCP

是基于连接的协议、头部20字节
全双工,双向传输
j基于字节流、不限制数据大小,打包成报文段,保证有序接收、重复报文自动丢弃
有拥塞控制,用来处理双方处理能力的不匹配
拥有可靠的传输服务,保证可达,丢包时通过重发机制实现可靠性
Sequence number 序号保证TCP传输的报文是有序的
Window Size 表示窗口大小,还能接受多少字节的数据
Acknowledgement Number 表示上一个序号的数据以及接受到,接收端希望接受的下一个字节编号是多少

14.1 标识符

ACK=1 表示确认号字段有效
SYN=1 ACK=0 表示当前报文段是一个连接请求报文
SYN=1 ACK=1 表示当前报文段是一个统一建立连接的应答报文
FIN=1 表示此报文段是一个释放连接的请求报文
URG 紧急值有效
RST 重置连接
PSH 接收方应该尽快将这个报文交给应用层

14.2 TCP拥塞控制

拥塞窗口

慢启动阈值

15、安全问题CSRF和XSS
15.1 CSRF:跨站请求伪造

CSRF攻击:攻击者盗用了你的身份,以你的明细发送恶意请求

CSRF原理:登录受信任的网站A,在本地生成cookie,在不登出A的情况下,访问危险网站B

CSRF防御方式

Token验证(使用最多)

服务器发送给客户端一个token
客户端提交的表单中带有这个token
如果这个token不合法,那么服务器就拒绝这个请求

隐藏令牌

把token隐藏在http的head头中

Referer验证

Referer指的是页面请求来源,只接受本站的请求,服务器才做响应,如果不是就拦截

15.2 XSS:跨域脚本攻击

​ xss是一种发生在web前端的漏洞,恶意攻击者王web页面里插入恶意的script代码,在浏览器中运行scrip代码。达到恶意攻击用户的目的。

xss攻击:需要向web页面注入恶意代码、这些恶意代码被浏览器成功执行
xss攻击方式

反射型:发送请求时,xss代码出现在url中,作为输入提交到服务器端,服务器端解析后相应,XSS代码随着相应一起传给浏览器,最后在浏览器解析执行XSS代码。
存储型:提交的代码会存储在服务器端(数据库、内存、文件系统)下次请求目标页面时不用再提交xss代码

15.3 两者的区别

CSRF需要先登录,获取COOKIE,然后利用网站本身的漏洞去请求网站的api
XSS不需要登录,直接向网站注入JS代码,篡改网站的内容

16、cookie

​ cookie是网站为了辨别用户身份,进行session跟踪而存储在用户本地终端的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息

存储在用户本地终端上的数据

用来辨别用户身份

保存在用户本地终端

cookie的作用就是解决如何记录客户端的用户信息

16.1 cookie原理

​ 浏览器第一次请求服务器,服务器响应请求中携带cookie,给浏览器,后续浏览器再携带cookie给服务器,服务器根据cookie判断用户,也可以修改cookie的内容

16.2 cookie的属性

​ Name、Value、Domain、Path、Expires/Max-Age、Size、HttpOnly、Secure、SameSite

HttpOnly

这个属性设置为true时,就不能通过js脚本获取cookie的值,能够有效的防止xss的攻击

Secure

标记为Secure的cookie只能被https协议加密过的请求发送给服务端。单也无法保证其安全保障

SameSite

Cookie运行服务器要求某个cookie在跨站请求时不会被发送,从而可以阻止扩展请求伪造攻击(CSRF)

None:浏览器再同站请求、跨站请求下继续发送cookies,不区分大小写(所有三方请求都会携带cookie)
Strict:浏览器只在访问相同站点时发送cookie(所有第三方的连接都不会携带cookie)
Lax:Same-site cookie将会为一些跨站请求保留,如图片加载或frames的调用,单只有当用户才外部站点导航到URL时才会发送(只有同步且是get请求才可携带cookie)

17、token

​ token作为客户端的一个令牌,在第一个登陆的时候获取到,以后就不需要频繁访问数据库,查询用户密码。

解决的问题:

Token完全由应用管理,所以它可以避开同源策略
Token可以避免CSRF攻击
Token可以是无状态的,可以在多个服务器间贡献

tocken的有点

无状态,可扩展
安全性
多平台跨域
基于标准

18、cookie,session,token

cookie:存放在客户端,用来保存客户端会话信息,安全性不能完成保证
session:放在服务器端,保存认证用户信息
token:是一种认证方式(是“令牌”的意思,主要是用于身份的验证方式)

19、URI

​ URL统一资源定位符,URI,统一资源标识符。URI用来区分网络上的不同资源

​ URI包含了URN和URL

20、三大交换方式:

电话交换:建立专用的物理链路,始终占用;简单粗暴,资源利用率不高,
报文交换:就是把整个报文完整的发送到链路中,在某个节点存储下来之后再发送到下一个节点。
分组交换:将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去。

21、时延

时延=发送时延+传播时延+处理时延+排队时延。

发送时延(传输时延):从开始发送数据帧,到数据帧发送完毕所需的全部时间。
传播时延:发送端开始发送数据到接收端收到数据所需要的全部时间。(电磁波在信通中的时间)

22、WEB页面请求过程:

向DNS服务器发送DNS查询报文来解析域名。
开始进行HTTP会话,需要先建立TCP连接。
在运输层的传输过程中,HTTP报文被封装进TCP中。HTTP请求报文使用端口号80,因为服务器监听的是80端口。连接建立以后,服务器会随机分配一个端口号给特定的客户端,以后的TCO传输都是使用这个端口号。
在网络层的传输过程中,TCP报文段会被封装进IP分组中,IP分组经过路由选择,最后到底目的地。
在链路层,IP分组会被封装进MAC帧中,IP地址解析成MAC地址需要使用ARP。
客户端发送HTTP请求报文,请求获取页面。
服务器发送HTTP相应的报文,客户端从而获取该页面。
浏览器得到页面内容以后,解析并渲染,向用户展示页面。

最后

如果觉得看完有收获,希望能给我点个赞,这将会是我更新的最大动力,感谢各位的支持
欢迎各位关注我的公众号【java冢狐】,专注于java和计算机基础知识,保证让你看完有所收获,不信你打我
如果看完有不同的意见或者建议,欢迎多多评论一起交流。感谢各位的支持以及厚爱。

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

月黑雁飞高,计网全知道——精选22道计网面试题目

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 月黑雁飞高,计网全知道——精选22道计网面试题目
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏