51Testing软件测试论坛

标题: PostMan 之 跨域测试你知道多少? [打印本页]

作者: 草帽路飞UU    时间: 2022-8-22 16:58
标题: PostMan 之 跨域测试你知道多少?
本帖最后由 草帽路飞UU 于 2022-8-25 17:06 编辑

本文将简单介绍如何使用PostMan进行跨域测试

1.跨域的概念

跨域问题是源自“同源策略”,“同源策略”是一种约定,本质上是限制一个域的JavaScript脚本和另一个域内的内容进行交互。

“同源策略”是保证浏览器安全的一种核心机制,所有浏览器在实现上都必须实现该机制,否则该浏览器将会非常容易被攻击。所谓“同源”,即在一个域内,一个域由协议、主机、端口三部分组成,有任何一个部分不同,都不是一个域、一个源。

如在http://www.test.com这个网页中她的js无法与其他域中的内容进行交互。

注意:这种交禁止交互不是指跨域的请求发不出去,而是指响应的结果被浏览器拦截了。

跨域的请求是否会被拦截其实是通过Http报文里面的标志位来判断的,所以在后端解决跨域问题是很方便的,只要在响应返回前处理一下浏览器判断响应是否跨域的条件项就行。开源资料很多,此处不展开赘述。

2.使用PostMan进行跨域测试

使用PostMan可以方便快速的进行跨域测试。
只需要在请求头中手动添加一个Origin的标头,声明需要跨域跨到的域(IP:端口)就行。其余参数PostMan会自动生成。添加此标头后,请求会被做为一条跨域的请求来进行处理。

[attach]141704[/attach]


无论是否跨域成功,返回值都会是200,需要通过响应头来确认到底是否跨域成功。

跨域不成功,响应中不会包含跨域相关的标头:

[attach]141705[/attach]

跨域成功,响应中会包含跨域相关的标头:

[attach]141706[/attach]










欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2