计算机网络知识复习

news/2024/7/7 23:24:41

目录

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次挥手?

双向通信,握手挥手都是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

CDN更换图片?

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

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

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

最快就是本机有DNS缓存。

 

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

光速是(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中间人攻击?

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

 

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

看具体场景

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

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

解决跨域的手段?

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

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

移动端网络性能优化策略

  • 代理(什么都可以解决,有性能损失,链路变长了。)
  • Jsonp(<script>不标准)
  • CORS(常见,Option几分钟的强制缓存)
  • iframe页面通信:postMessage
  • FCP(第一次绘制内容【白屏时间长短】)
  • TTI(用户可以操作页面内容)
  • 跳出率(用户进来什么都没操作就离开了)
  • CPU占用(前端程序写的性能好不好)
  • HTTP缓存(静态资源设置合理缓存)
  • CDN(资源分发)
  • 预加载webview
  • server push(一次请求html,可以带着js,css)一个文件可以节省百毫秒
  • 离线包
  • 压缩
  • service worker(fetch->js/css,它可以劫持,把本地缓存给他;js更新,它会提前缓存下来,你一刷新,就给你这个缓存js)

 


http://lihuaxi.xjx100.cn/news/1085098.html

相关文章

趣说数据结构(练习1) —— 顺序表/链表力扣刷题

练习 1 —— 顺序表/链表力扣刷题 1. 合并两个有序链表 力扣题目地址&#xff1a;https://leetcode.cn/problems/merge-two-sorted-lists/ 问题描述&#xff1a;将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例&#x…

尚融宝26-投标

目录 一、需求 &#xff08;一&#xff09;投资人投标 &#xff08;二&#xff09;流程 二、标的详情 &#xff08;一&#xff09;需求 &#xff08;二&#xff09;后端 &#xff08;三&#xff09;前端 三、计算收益 &#xff08;一&#xff09;四种还款方式 &#…

(数学知识)试除法判断质数,分解质因数,埃式与线性筛质数

质数 质数是指在大于1的自然数中&#xff0c;除了1和它本身以外不再有其他因数的自然数。 试除法判定质数 你会发现如果说一个数要分成两个数相乘的话&#xff0c;那么这两个数肯定都是成对出现的&#xff0c;有一大一小的相对关系。因此不需要从2遍历到n&#xff0c;循环的…

深入与浅谈 Vue 中计算属性和侦听器的区别和使用(Vue3版本为例)

#五一技术创作马拉松# &#x1f4cb;前言 计算属性 computed 和侦听器 watch 都是 Vue.js 框架中用来响应式更新视图的重要概念。在 Vue 项目开发中&#xff0c;这两个技术点是非常重要的&#xff0c;同时也是 Vue 基础中不可缺少的知识点。在面试中&#xff0c;计算属性 comp…

2022年新能源汽车专题讲座

2022年新能源汽车专题讲座 单选题&#xff08;共5题&#xff0c;每题6分&#xff09; 1、《中华人民共和国数据安全法》自&#xff08;&#xff09;起施行。 正确答案&#xff1a;C、2021年9月1日 2、典型的智能汽车结构主要分为&#xff08;&#xff09;个层次。 正确答案…

《Effective Python 编写高质量Python代码的59个有效方法》学习笔记6(完)

用functools.wraps定义函数修饰器 python为修饰器提供了专门的语法&#xff0c;它使得程序在运行的时候&#xff0c;能够用一个函数来修饰另一个函数 对于调试器这种依靠内省机制的工具&#xff0c;直接编写修饰器会引发奇怪的行为 内置的functools模块提供了名为wraps的修饰器…

从零开始学习Linux运维,成为IT领域翘楚(三)

文章目录 &#x1f525;Linux超级用户与伪用户&#x1f525;Linux文件基本属性&#x1f525;Linux权限字与权限操作 &#x1f525;Linux超级用户与伪用户 Linux下用户分为三类&#xff1a;超级用户、普通用户、伪用户 ⭐ 超级用户&#xff1a;用户名为root&#xff0c;具有一切…

计算机网络中常见的数据传输方式(电路交换,报文交换,分组交换)

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章将详细介绍计算机网络中常见的数据传输方式&#xff0c;如电路交换&#xff0c;报文交换&#xff0c;分组交换。 如果文章有什么需要改进的地方还请大佬不吝赐教&…