网络与协议

网络协议和 HTTP

1.
Ajax、Axios、Fetch 对比

三种 HTTP 请求方式的区别与使用场景

2.
Ajax 原理

理解 Ajax 的工作机制和 XMLHttpRequest 的使用

3.
Ajax 技术与实现

理解 Ajax 原理,掌握 XMLHttpRequest 和 Fetch API 的使用

4.
常见的应用层协议

了解 HTTP、FTP、SMTP、DNS 等应用层协议

5.
浏览器缓存的存储位置

浏览器缓存按存储位置分为 Service Worker、Memory Cache、Disk Cache 和 Push Cache 四种

6.
从输入 URL 到页面显示的过程

浏览器加载页面的完整流程,包括 DNS 解析、TCP 连接、HTTP 请求和页面渲染

7.
Cache-Control 常见配置值

HTTP 缓存控制头 Cache-Control 在请求和响应中的配置项说明

8.
CDN 工作原理

CDN 的工作流程、缓存机制与实际应用

9.
为什么推荐将静态资源放到 CDN 上

了解 CDN 的工作原理和使用静态资源 CDN 的优势

10.
Cookie 的弊端

Cookie 在实际使用中的限制和问题

11.
Cookie 的 Secure 属性设置

通过 Secure 属性让 Cookie 仅在 HTTPS 请求中携带

12.
CORS 请求携带身份凭证的方法

配置跨域请求携带 Cookie 和认证信息

13.
CORS 跨域原理

浏览器跨域资源共享的工作机制

14.
复杂请求预检检查内容

CORS 预检请求检查的内容及服务器响应方式

15.
CORS 预检请求

理解 HTTP 跨域时的 Options 预检请求机制

16.
CORS简单请求的条件

判断 CORS 请求是否为简单请求的条件

17.
简单请求为何无需预检

理解 CORS 中简单请求跳过预检的原因

18.
DNS 域名解析与网络请求路由

从输入域名到请求到达服务器的完整过程

19.
什么是跨域

理解浏览器的同源策略和跨域问题

20.
什么是 DNS 劫持?

DNS 劫持的原理、常见攻击手段及其对业务的影响

21.
DNS 预解析优化网页加载速度

使用 dns-prefetch 提前解析域名,减少 DNS 查询延迟

22.
DNS 解析过程与优化

DNS 递归/迭代查询原理及前端 DNS 预解析优化

23.
URL 参数为什么需要 encodeURIComponent 转码

理解 URL 编码规范和 JavaScript 编码函数的使用场景

24.
Last-Modified 和 ETag 的区别

为什么协商缓存需要 ETag 而不只用 Last-Modified

25.
Fetch 发送两次请求的原因

理解 CORS 预检请求机制

26.
正向代理与反向代理

理解正向代理和反向代理的区别及应用场景

27.
前后端通信方式

常见的前后端数据交互方案及代码示例

28.
GET请求能否上传图片

分析 GET 请求上传图片的可行性与限制

29.
GET 请求的传参长度限制

GET 请求参数长度的限制来源及不同浏览器的差异

30.
HTTP 缓存策略

强缓存和协商缓存的工作原理、区别及应用场景

31.
GET 与 POST 的区别

从语义、缓存、数据长度、安全性对比 GET 和 POST 请求

32.
HTTP状态码301与302的区别

301永久重定向与302临时重定向的区别和使用场景

33.
HTTP 数据传输

HTTP 中定长、分块、压缩、范围请求等数据传输方式

34.
HTTP 队头阻塞

理解 HTTP/1.1 和 HTTP/2 中的队头阻塞问题及解决方案

35.
HTTP 请求头和响应头的重要字段

HTTP Request Header 和 Response Header 中的常用字段说明

36.
HTTP发展历程

从 HTTP/0.9 到 HTTP/3 的演进过程

37.
HTTP与HTTPS总结

HTTP和HTTPS协议的区别与工作原理

38.
HTTP 和 HTTPS 的区别

理解 HTTP 与 HTTPS 协议

39.
HTTP 报文结构与状态码

HTTP 请求/响应报文的组成部分及常见状态码含义

40.
HTTP Keep-Alive 机制

理解 HTTP 长连接的作用与工作原理

41.
HTTP管道机制的作用

理解 HTTP/1.1 管道化技术及其工作原理

42.
HTTP协议优缺点

HTTP协议的优点和缺点分析

43.
HTTP 重定向状态码 301/302/303/307/308

理解 HTTP 重定向状态码的区别和使用场景

44.
HTTP 请求方法

HTTP 常见请求方法及其用途

45.
HTTP 协议版本演进

HTTP 1.0、1.1、2.0、3.0 的主要区别与特性对比

46.
HTTP与TCP的区别

HTTP 和 TCP 的层级、功能和关系对比

47.
HTTP/2 多路复用原理

HTTP/2 如何通过二进制帧实现多路复用

48.
HTTPS 协议的缺点

HTTPS 相比 HTTP 带来的性能、成本和运维问题

49.
HTTP/3 如何保证传输可靠性

HTTP/3 基于 UDP,通过 QUIC 协议实现可靠传输

50.
HTTP/2 的改进

HTTP/2 相比 HTTP/1.1 的主要改进和优化

51.
HTTPS 加密原理

SSL/TLS 握手过程、对称与非对称加密、数字证书及中间人攻击防护

52.
什么是负载均衡?

负载均衡的概念、实现方式及应用场景

53.
Nginx 负载均衡调度算法

Nginx 支持的四种负载均衡算法及其应用场景

54.
Nginx 是什么

了解 Nginx 的诞生背景、特点和主要用途

55.
对象存储 OSS 是什么

了解对象存储 OSS 的概念、核心组成和相关技术

56.
OPTIONS 请求方法及使用场景

了解 OPTIONS 请求方法的作用和在 CORS 跨域中的应用

57.
轮询与 WebSocket 对比

短轮询、长轮询和 WebSocket 三种实时通信方案的区别与实现

58.
HTTPS 中 SSL 的 OSI 层位置

SSL/TLS 在 OSI 七层模型中的位置及原因

59.
SSL连接恢复

SSL/TLS 连接断开后的两种恢复机制

60.
强缓存和协商缓存

浏览器缓存机制中的强缓存和协商缓存工作原理

61.
TCP 三次握手与四次挥手

TCP 连接建立与断开的完整过程和状态变化

62.
TCP三次握手中的数据传输

三次握手过程中哪些阶段可以携带数据

63.
TCP 和 HTTP 请求的关系

理解 TCP 连接与 HTTP 请求的复用机制,以及浏览器的并发处理方式

64.
TCP/IP 协议

TCP/IP 协议的组成、作用和四层结构

65.
TCP 如何判断丢包

TCP 通过超时重传机制判断丢包,结合流量控制和拥塞控制保证传输可靠性

66.
TCP 与 UDP 的区别

对比 TCP 和 UDP 在连接、可靠性、速度和使用场景上的差异

67.
WebSocket 的 Handshaking 握手过程

WebSocket 建立连接时的握手机制和流程

68.
TLS 1.3 相比 TLS 1.2 的改进

TLS 1.3 在握手效率、安全性和密码套件方面的主要改进

69.
URI、URL、URN 的区别

理解 URI、URL、URN 三者的定义和关系

70.
WebSocket 心跳机制

WebSocket 心跳用于保持连接和检测服务端状态

71.
WebSocket 协议原理

WebSocket 握手过程、通信机制及与 HTTP 的区别

72.
XML与JSON对比

比较 XML 和 JSON 两种数据格式的语法、特点和使用场景