常见问题
HTTP(HyperText Transfer Protocol,超文本传输协议)是用于客户端和服务器之间通信的应用层协议。它是万维网(WWW)的基础,定义了客户端如何向服务器请求资源,以及服务器如何响应这些请求。HTTP 是无状态协议,每个请求都是独立的。
GET 请求用于获取资源,参数附加在 URL 中,有长度限制,会被浏览器缓存,适合幂等操作。POST 请求用于提交数据,数据在请求体中,无长度限制,不会被缓存,适合非幂等操作(如创建资源)。简单说:GET 是"读取",POST 是"写入"。
HTTP 请求头是客户端发送给服务器的元数据,用于提供额外信息。常用请求头包括:Content-Type(请求体格式)、Authorization(认证信息)、User-Agent(客户端信息)、Accept(期望的响应格式)、Cookie(会话信息)、Cache-Control(缓存控制)等。
调试 HTTP 请求响应的常用方法:1) 浏览器开发者工具(Network 面板);2) 命令行工具 curl 或 httpie;3) API 测试工具如 Postman、Insomnia;4) 抓包工具如 Wireshark、Fiddler;5) 本工具可可视化展示请求响应流程。
CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种安全机制,允许网页从不同域名的服务器请求资源。浏览器会先发送 OPTIONS 预检请求,服务器响应允许跨域后,才发送实际请求。CORS 通过响应头 Access-Control-Allow-Origin 等控制跨域权限。
HTTPS 是 HTTP 的安全版本,在 HTTP 基础上添加了 SSL/TLS 加密层。主要区别:1) HTTPS 使用加密传输,HTTP 是明文;2) HTTPS 需要 SSL 证书,HTTP 不需要;3) HTTPS 默认端口 443,HTTP 默认端口 80;4) HTTPS 提供更好的身份验证和数据完整性保护。