无需登录 数据私有 本地保存

CORS跨域请求测试 - 检查响应头

12
0
0
0
🌐
CORS 跨域请求测试工具
检查响应头 · 诊断跨域问题
快捷测试: GitHub API JSONPlaceholder httpbin.org PokéAPI Dog API
⚠️ 浏览器禁止设置 Origin、Host、Cookie 等安全头
仅 POST/PUT/PATCH 方法生效

输入目标 URL 并点击发送,测试跨域请求配置

工具将分析响应中的 CORS 头部信息,帮助诊断跨域问题
CORS 常见问题与知识点

CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种浏览器安全机制。默认情况下,浏览器遵循同源策略,阻止一个域名下的网页向另一个域名发起 AJAX 请求。CORS 通过服务器返回特定的 HTTP 响应头(如 Access-Control-Allow-Origin),告知浏览器该请求是否被允许,从而实现安全的跨域数据访问。

简单请求:满足以下条件——方法为 GET/HEAD/POST,Content-Type 为 application/x-www-form-urlencoded、multipart/form-data 或 text/plain,且无自定义请求头。浏览器直接发送请求。
预检请求(Preflight):不满足简单请求条件时(如使用 PUT/DELETE 或自定义头),浏览器先发送 OPTIONS 请求询问服务器是否允许,服务器返回允许的方法和头后,才发送实际请求。

  • Access-Control-Allow-Origin:指定允许访问的源(或 * 表示允许所有)
  • Access-Control-Allow-Methods:允许的 HTTP 方法
  • Access-Control-Allow-Headers:允许的请求头
  • Access-Control-Allow-Credentials:是否允许携带 Cookie
  • Access-Control-Max-Age:预检请求缓存时间(秒)
  • Access-Control-Expose-Headers:允许 JavaScript 读取的额外响应头

常见原因:① 使用了 withCredentialsAccess-Control-Allow-Origin*(不能同时使用);② 预检请求失败,检查 Access-Control-Allow-MethodsAccess-Control-Allow-Headers 是否包含实际请求的方法和头;③ 响应头拼写错误;④ 服务器端 CORS 中间件配置顺序问题。

① 打开浏览器开发者工具的 Network(网络)面板,查看请求是否被标记为红色;② 检查响应头是否包含 CORS 相关头;③ 使用本工具输入目标 URL 快速检测;④ 查看 Console 中的 CORS 错误信息,通常会明确指出缺少哪个头;⑤ 尝试用 curl 或 Postman 对比(它们不受同源策略限制)。

是的。即使跨域请求成功,JavaScript 默认也只能读取 Cache-ControlContent-LanguageContent-TypeExpiresLast-ModifiedPragma 这 6 个简单响应头。要暴露其他自定义头,服务器必须在 Access-Control-Expose-Headers 中明确列出。本工具展示的响应头受此限制影响。