计算机网络知识复习

目录

TCP/IP协议群做了哪些事情?

TCP协议为什么是3次握手,4次挥手?

如果网络延迟是30ms,那么Ping(基于UDP的)一个网站需要多少ms?

如果请求一个HTTP协议的网站,TTFB至少ms?

CDN更换图片?

一次DNS查询最快和最慢差距有多大?

HTTP长连接什么时候断开?

请简述什么是Restful?

强制缓存和协商缓存的区别?

正向代理和反向代理有什么区别?

什么是https中间人攻击?

Base64上传和blob上传用哪个更好?

解决跨域的手段?

移动端通常你关注哪些前端指标?(web-vitals)

移动端网络性能优化策略


TCP/IP协议群做了哪些事情?

  1. 报文拆分(传输设备一次传不了太多东西,所以拆分)
  2. 增加协议头(给每个拆分后的封包增加协议头)
  3. 数据传输
  4. 路由和寻址(发出~收到,要经过很多路由,很多服务器,每到一个中转站都要封包和寻址计算下一个中转站去哪里)
  5. 数据重组

TCP协议为什么是3次握手,4次挥手?

计算机网络知识复习_第1张图片

双向通信,握手挥手都是4次通信,只是连接(握手)时把服务端和回应,同步请求合并发送了。

1.要保证程序的可靠性,就是你发一条消息,它回应你一下他收到这个消息了

创建连接时,因为是刚开始建立连接,不存在进行中的传输,所以服务端可以:回应收到客户端的消息,同步请求合并。这2步合并了

2.挥手的时候是4次,因为在结束连接时,可能存在正在进行的传输,接收者要等进行中的响应数据结束,才能发起fin断开请求,所以接收到发起者的断开请求,回应接收到了,不能和接收者发起断开请求一起发给发起者。所以就是4次挥手

如果网络延迟是30ms,那么Ping(基于UDP的)一个网站需要多少ms?

RTT(Round  Trip Time)双程时间,60ms*2 + 30ms,要计2次

不是RTT,60ms + 30ms,因为Ping一个网站不需要握手,用30ms请求,30ms收到第一个bit(UDP)

如果请求一个HTTP协议的网站,TTFB至少ms?

TTFB(Time To First Bit)第一个Bit回来

(TCP)3次握手 30ms*3 顺便打个招呼Hello

server Hello/公钥证书 30ms

协商秘钥一个来回 30ms * 2 服务端携带1bit

总计180ms,如果延迟是30ms 就加上30ms

计算机网络知识复习_第2张图片

CDN更换图片?

一定要换名字,换版本都不一定靠谱

建议以图片内容生成hash值作为图片名字

一次DNS查询最快和最慢差距有多大?

最快就是本机有DNS缓存。

计算机网络知识复习_第3张图片

 

计算机操作是(纳秒级别的)

光速是(10纳秒)

最慢,就要经历下面这些步骤了

  1. 本机 (微秒)
  2. 局域网 (毫秒)
  3. 本地网络服务提供商 (300ms)
  4. 国家级(世界级)网络服务提供商(ROOT)目录
  5. Name Server(目录)命名服务器 www.baidu
  6. 权威服务器 (秒级)

HTTP长连接什么时候断开?

计时,超时断开连接,客户端和服务端协商超时时间,维护一个长连接,

2个请求超过超时时间,就会断开

http2.0请求头部比较大,不是二进制请求,传输效率低,keep-alive用来做IM用着没有web socket好

请简述什么是Restful?

状态表示(Represent)

业务状态 (State)

改变状态的方法(Transfer)

上面3个组在一起就是Restful(状态表示方法)

PUT 是 幂等 同样数据提交多少次都是一个数据

POST 非幂等

PUT /order

POST /order

PUT /order/12

强制缓存和协商缓存的区别?

都是缓存。

缓存地方

  • 端:app,小程序
  • 路由、网关

强制缓存:缓存多少时间是确定的,过期之前,不会再请求数据(更快)

协商缓存:每次都请求数据,会对比标记tag(摘要)是否变更,没变就返回空数据,变了就返回新数据(更灵活)(例:全国城市地区,用协商缓存)减少传输数据

正向代理和反向代理有什么区别?

(正向)代理:游戏代理、上网用的代理

特点:用户明确的知道我在用代理服务器。要购买使用。要启动客户端,选则节点(代理节点)数据发送给节点,节点帮我请求数据。

反向代理:用户不知道遇到了代理(负载均衡)

什么是https中间人攻击?

计算机网络知识复习_第4张图片

 核心是:它先要想办法,让你自己装上非法的根证书,

 

Base64上传和blob上传用哪个更好?

看具体场景

0~5kb Base64上传也可以,特点是用4个字节解释原本的3个字节,包会变大一些。

超过5kb的建议直接用blob二进制上传。

解决跨域的手段?

websocket跨不跨域?都跨协议了,http->websocket

移动端通常你关注哪些前端指标?(web-vitals)

移动端网络性能优化策略

  • 代理(什么都可以解决,有性能损失,链路变长了。)
  • Jsonp(

你可能感兴趣的:(计算机网络相关,计算机网络,网络,服务器)