http跨域和预请求相关

每次浏览器在发送一个请求的时候,都会先发送一个预请求给后台,后台接收到这个预请求判断浏览器的这个请求是否符合后台设定的请求规则,如果符合请求规则,则后台会返回一个允许请求的回调,这样请求就能顺利的进行。

但是有可能来的请求是不符合后台请求规则,比如请求的请求头后台设置了只能post但是浏览器来的请求确实get这样预请求不能通过,请求就会被拒绝于是乎就有了请求方式错误的跨域。后台相关的设置为Access-Contorl-Allow-Methods(get,post,options,put ,header,delete,Trace等)

除了请求方式的跨域类型还有请求的数据类型跨域(Access-Contorl-Allow-Origin)和请求域名跨域(Access-Contorl-Allow-Headers)

请求域名跨域就不多说了现在大部分常见的跨域就是这个。

请求类型跨域content-type限制(默认允许multipart/form-data,text/plain,application/x-www-form-urlencoded),请求的数据类型后台是可以设置的,当前端请求的数据类型不符合后台规则会发生请求类型跨域的问题,后台请求不到数据,这个在之前的一篇博客中有说到过有兴趣可以去观摩下https://blog.csdn.net/qq_40816649/article/details/86649559

通过以上这几种跨域的限制可以优化后台的网络请求的压力和安全,规避一些不合法不安全的请求。

哈哈这种原理性的东西还是要深入一下的。

猜你喜欢

转载自blog.csdn.net/qq_40816649/article/details/89395666