为什么接口测试工具不跨域

浏览器实施了同源策略,限制了在不同域之间的资源共享。这是出于安全考虑,以防止恶意网站获取用户的敏感信息。同源策略要求发送请求的源(协议、域名和端口)必须与接收响应的源相同。如果源不同,则浏览器会拒绝该请求,抛出跨域错误。

然而,Postman 不是一个运行在浏览器上的应用程序,它只是模拟了一个 HTTP 客户端发送请求和接收响应,不受浏览器的同源策略限制

跨域本质上是浏览器的问题。你用js发起一个http请求,底层是由浏览器(或者说是js运行时)去执行这个请求的。http请求发出去了,服务器收到也正常响应了,两者看似你情我愿,但是中间的浏览器一看,这响应报文的请求头不对呀,赶紧给他拦截了。

你用postman或其他工具或者用nodejs请求,因为不存在浏览器这个中间层所以也没人把服务器的响应拦截住说你跨域了

总结:

第一:HTTP是无状态协议。每一次请求是独立的。

第二:跨域问题只存在于正经的浏览器,是出于安全考虑。

第三:HTTP请求谁都可以发,不只是浏览器。

相关推荐
牛奶4 小时前
200 OK不是"成功"?HTTP状态码潜规则
前端·http·浏览器
冬奇Lab21 小时前
一天一个开源项目(第46篇):Caddy - 自动 HTTPS 的现代化 Web 服务器,支持 HTTP/3
网络协议·nginx·开源
牛奶1 天前
从一行字到改变世界:HTTP这三十年都经历了什么?
前端·http·http3
牛奶1 天前
浏览器到底在偷偷帮你做什么?——HTTP缓存与刷新机制
前端·http·浏览器
韭菜炒大葱3 天前
前端经典面试题:从 URL 输入到页面展示,中间经历了什么?
前端·http·面试
Sheffield4 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
YuMiao8 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
不可能的是9 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
Jony_11 天前
高可用移动网络连接
网络协议
chilix11 天前
Linux 跨网段路由转发配置
网络协议