WebSocket凭啥可以跨域?
2020-04-16 本文已影响0人
HonmaMeiko__
面试前复习WebSocket时注意到了很多开发时没有想到过的知识点,其中一个就是WebSocket协议可以用来跨域,奇怪的是,明明AJAX和WebSocket都属于跨域读,按理来说应该都受同源策略的限制,为啥WebSocket就不受他的限制呢?在网上查了一番资料,发现有人这样解释道:
原来WebSocket根本不附属于同源策略,而且它本身就有意被设计成可以跨域的一个手段。由于历史原因,跨域检测一直是由浏览器端来做,但是WebSocket出现以后,对于WebSocket的跨域检测工作就交给了服务端,浏览器仍然会带上一个Origin
跨域请求头,服务端则根据这个请求头判断此次跨域WebSocket请求是否合法