Node系列详讲HTTP和HTTPS,掌握大厂面试常见HTTP知识点
2023-09-11 22:02:12
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 面试题
- HTTP 和 HTTPS 有什么区别?
- HTTP 请求和响应由哪些部分组成?
- 常用的 HTTP 方法有哪些?
- HTTP 状态码有哪些?
- HTTP 缓存是什么?
- HTTP 代理是什么?
- HTTP 安全有哪些方面?
总结
HTTP 是万维网的基础协议,用于传输超文本。HTTP 工作在 TCP/IP 协议栈的应用层,负责传输网页、图片、视频、音频等数据。HTTPS 是 HTTP 的安全版本,通过使用 SSL/TLS 加密通信数据,保证数据在传输过程中的安全。HTTP 缓存可以提高网站的访问速度,减少服务器的负载。HTTP 代理可以提供缓存、安全、访问控制等功能。HTTP 安全是保障 HTTP 通信安全的重要手段。