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

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

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

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

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

总结:

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

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

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

相关推荐
F1FJJ1 小时前
只是想查个数据,不想装 phpMyAdmin
数据库·网络协议·容器·开源软件
F1FJJ2 小时前
Shield CLI:MySQL 插件 vs phpMyAdmin:轻量 Web 数据库管理工具对比
前端·网络·数据库·网络协议·mysql·容器
bu_shuo6 小时前
IP相关知识
网络·网络协议·tcp/ip
黄昏回响7 小时前
计算机系统基础知识(九):软件篇之网络协议详解
网络·网络协议·面试·改行学it
zl_dfq7 小时前
计算机网络 之 【http协议】(简易HTTP服务器实现逻辑)
服务器·计算机网络·http
serve the people8 小时前
ACME 协议流程与AllinSSL 的关系(二)
网络协议·https·ssl
honor_zhang9 小时前
Vue3使用@vueuse/core集成Websocket实战及携带身份信息的3种方式
websocket·网络协议·身份验证
zl_dfq10 小时前
计算机网络 之 【http协议】(http的无状态性、Cookie与Session的简介)
网络协议·计算机网络·http
添砖java‘’10 小时前
应用层协议HTTP
网络·网络协议·http
闻道且行之10 小时前
C/C++ HTTP 服务:常用方法与实现方式全解析
c语言·c++·http·libhv·curl·mongoose·libcurl