返回

Node系列详讲HTTP和HTTPS,掌握大厂面试常见HTTP知识点

前端

HTTP 与 HTTPS 的概念

HTTP(Hypertext Transfer Protocol)是一种应用层协议,用于传输超文本,是万维网的基础协议。HTTP 工作在 TCP/IP 协议栈的应用层,负责传输网页、图片、视频、音频等数据。

HTTPS(Hypertext Transfer Protocol Secure)是 HTTP 协议的安全版本,通过使用 SSL/TLS 加密通信数据,保证数据在传输过程中的安全。HTTPS 可以防止数据在传输过程中被窃听、篡改或伪造。

HTTP 请求和响应

HTTP 请求由请求行、请求头和请求体三部分组成。请求行包括请求方法(GET、POST、PUT、DELETE 等)、请求资源的路径和 HTTP 版本。请求头包含有关请求的元数据,如请求的源地址、请求的数据类型、语言等。请求体包含请求的数据。

HTTP 响应由状态行、响应头和响应体三部分组成。状态行包括 HTTP 版本、状态码和状态消息。响应头包含有关响应的元数据,如响应的数据类型、语言等。响应体包含响应的数据。

常用 HTTP 方法

方法 说明
GET 获取资源
POST 创建或更新资源
PUT 更新资源
DELETE 删除资源
HEAD 获取资源的头信息,但不获取资源体
OPTIONS 获取资源支持的方法

HTTP 状态码

HTTP 状态码表示服务器对请求的响应结果。常见的 HTTP 状态码包括:

状态码 说明
200 OK 请求成功
400 Bad Request 请求语法错误
401 Unauthorized 未授权
403 Forbidden 禁止访问
404 Not Found 资源未找到
500 Internal Server Error 服务器内部错误

HTTP 缓存

HTTP 缓存是客户端或代理服务器将从服务器获取的资源保存在本地,当再次请求相同资源时,可以直接从本地读取缓存,无需再次向服务器发送请求。HTTP 缓存可以提高网站的访问速度,减少服务器的负载。

HTTP 代理

HTTP 代理是一种充当客户端和服务器之间中介的服务器。HTTP 代理可以提供缓存、安全、访问控制等功能。HTTP 代理还可以用于绕过防火墙或访问受限资源。

HTTP 安全

HTTP 安全是保障 HTTP 通信安全的重要手段。HTTP 安全包括以下方面:

  • 使用 SSL/TLS 加密通信数据,防止数据在传输过程中被窃听、篡改或伪造。
  • 使用 HTTP 身份验证,验证用户身份,防止未授权访问。
  • 使用 HTTP 安全头,如 CSP(Content Security Policy)、X-XSS-Protection 等,防御 XSS、CSRF 等攻击。

HTTP 面试题

  1. HTTP 和 HTTPS 有什么区别?
  2. HTTP 请求和响应由哪些部分组成?
  3. 常用的 HTTP 方法有哪些?
  4. HTTP 状态码有哪些?
  5. HTTP 缓存是什么?
  6. HTTP 代理是什么?
  7. HTTP 安全有哪些方面?

总结

HTTP 是万维网的基础协议,用于传输超文本。HTTP 工作在 TCP/IP 协议栈的应用层,负责传输网页、图片、视频、音频等数据。HTTPS 是 HTTP 的安全版本,通过使用 SSL/TLS 加密通信数据,保证数据在传输过程中的安全。HTTP 缓存可以提高网站的访问速度,减少服务器的负载。HTTP 代理可以提供缓存、安全、访问控制等功能。HTTP 安全是保障 HTTP 通信安全的重要手段。