Cors跨站资源共享一解决跨域问题

1.我们的jsonp技术确实是可以进行跨域请求,但是有一个弊端就是只能是get发送的请求,因为jsonp的底层原理是利用标签去发生请求,如果想要发送一些大规模的数据的话就必须要用到post方式,那post方式怎么可以实现跨域请求的呢!!
2.我们只需要在服务端设置一个响应头即可:
header('Access-Control-Allow-Origin:请求源域名或者*');
意思就是当前服务器允许跨域请求,设置这个之后,就不存在跨域了,直接用ajax就能发送请求接受数据

原理过程:

客户端在发生请求之前会根据同源策略看是否是跨域请求,如果是同源,则直接发送真正的请求,但如果不是同源,浏览器会预先发送一条跨域请求(浏览器自身内部发送的),服务器接受到了跨域请求之后,会返回自身内部设置的响应头,如果没有设置header('Access-Control-Allow-Origin:请求源域名或者*'); 则浏览器判断为服务端不允许跨域请求,则不发送真实的ajax请求,但如果服务端设置了,那么浏览器会认为服务器允许接受跨域请求,(同源),再发生真正的ajax请求




    
    
    
    Document


    


在PHP文本中书写
 

http://www.study.com也可以书写其他地址,表示可以跨域的页面,*号表示所有的页面都可以跨域

你可能感兴趣的:(Cors跨站资源共享一解决跨域问题)