(09).前端知识库之http篇

89 阅读4分钟

一、HTTP/HTTPS相关

  1. HTTP协议的基本请求方法及状态码含义
  • 请求方法GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)、HEAD(获取头部信息)、OPTIONS(查询支持的方法)等。
  • 状态码
    • 2xx:成功(如 200 OK 表示正常响应,201 Created 表示新建资源)。
    • 3xx:重定向(如 301永久重定向, 302临时重定向)。
    • 4xx:客户端错误(如 404 Not Found 资源不存在,401 Unauthorized 未授权)。
    • 5xx:服务器错误(如 500 Internal Server Error 服务端异常)。
  1. HTTPS与HTTP的区别及优势
  • 区别
    • HTTPS 加密传输数据(TLS/SSL 协议),HTTP 明文传输。
    • HTTPS 使用端口 443,HTTP 默认 80
    • HTTPS 需要数字证书认证。
  • 优势:保护隐私、防中间人攻击、提升信任度。
  1. HTTP与HTTPS的核心区别
  • 是否加密通信、是否需要证书、默认端口不同。
  1. HTTPS的原理及握手过程
  • 原理:基于 TLS/SSL 协议,通过非对称加密交换对称密钥,再用对称加密传输数据。
  • 握手流程
    1. ClientHello(客户端发送协议版本、随机数、支持的加密套件)。
    2. ServerHello(服务端选择加密套件,返回证书和随机数)。
    3. Certificate(服务端提供身份证书)。
    4. ClientKeyExchange(客户端用证书公钥加密对称密钥并发送)。
    5. ChangeCipherSpec(双方切换为对称加密模式)。
    6. Finished(验证握手成功)。
  1. HTTPS加密实现原理
  • 对称加密(如 AES)用于高效传输数据,非对称加密(如 RSA)用于安全交换对称密钥,数字证书绑定公钥以验证身份。
  1. HTTP/2的特性及优势
  • 多路复用(单连接并发传输)、头部压缩(HPACK)、服务器推送(预加载资源)、优先级队列(按权重调度请求)。
  • 优势:减少延迟,提高带宽利用率。
  1. 完整HTTP事务的过程

  2. 域名解析:DNS 将域名转为 IP 地址。

  3. TCP 握手:建立可靠连接(三次握手)。

  4. 发送 HTTP 请求:客户端发送请求报文。

  5. 服务器响应:处理请求并返回响应报文。

  6. TCP 挥手:四次挥手关闭连接。

  7. GET与POST请求的区别

  • 传参:GET 参数附加在 URL,POST 放在请求体。
  • 缓存:GET 可被缓存,POST 不行。
  • 安全性:POST 更安全(参数不暴露)。
  • 长度限制:GET 参数长度受 URL 限制(通常较短)。
  1. HTTP常用状态码及其含义
  • 200 OK(成功)、201 Created(新建资源)、301永久重定向302临时重定向400 Bad Request(请求错误)、401 Unauthorized(未授权)、403 Forbidden(禁止访问)、404 Not Found(资源不存在)、500 Internal Server Error(服务端错误)。
  1. HTTP状态码分类
  • 1xx:信息性(如 100 Continue)。
  • 2xx:成功。
  • 3xx:重定向。
  • 4xx:客户端错误。
  • 5xx:服务器错误。

二、TCP/UDP相关

  1. TCP与UDP的区别及适用场景
  • 区别
    • TCP 面向连接、可靠传输(确认重传机制),UDP 无连接、尽最大努力交付。
    • TCP 适用于文件传输、网页访问,UDP 适用于视频流、实时游戏。
  1. TCP三次握手与四次挥手的原理
  • 三次握手
    1. 客户端发送 SYN(请求连接)。
    2. 服务端回复 SYN+ACK(确认并同步序号)。
    3. 客户端回复 ACK(确认连接建立)。
  • 四次挥手
    1. 客户端发送 FIN(结束连接)。
    2. 服务端回复 ACK。
    3. 服务端发送 FIN。
    4. 客户端回复 ACK(完全关闭)。

三、网络安全

  1. 跨域问题的解决方案
  • CORS(跨源资源共享)、JSONP(仅限 GET 请求)、代理服务器、WebSocket(协议层支持跨域)。
  1. XSS与CSRF的防御措施
  • XSS:输入过滤、输出编码(如 HTML 转义)、使用 CSP(内容安全策略)。
  • CSRF:CSRF Token、SameSite Cookie、验证码。
  1. DNS劫持的原理及防范措施
  • 原理:攻击者篡改 DNS 解析结果,诱导用户访问恶意网站。
  • 防范:使用可信 DNS 服务(如 Google DNS)、启用 DoH/DoT 加密(DNS over HTTPS/DoT)。

四、网络基础

  1. CDN加速的实现原理
  • 通过分布式边缘节点缓存静态资源,用户就近访问以减少延迟和带宽消耗。
  1. RESTful API的设计原则
  • 无状态、资源导向(URL 表示资源)、统一接口(HTTP 方法 + URI + 状态码)、使用 HTTP 协议语义。

五、Web安全

  1. Cookie和Session的区别及其在前端开发中的应用
  • 区别
    • Cookie 存储在客户端,可持久化;Session 存储在服务端,安全性更高。
    • Cookie 可跨域共享,Session 通常绑定单一域名。
  • 应用:Cookie 用于用户登录状态持久化,Session 用于服务器端会话管理。

六、前端工程化

  1. CommonJS与ES6模块的区别
  • 语法:CommonJS 使用 require()module.exports,ES6 使用 import/export
  • 作用域:CommonJS 模块是单例,ES6 模块支持静态解析。
  • 加载:CommonJS 同步加载(Node.js 适用),ES6 支持异步/动态导入(浏览器原生支持)。