題目1: 什么是同源策略
瀏覽器出于安全方面的考慮,只允許與本域下的接口交互。不同源的客戶端腳本在沒有明確授權的情況下,不能讀寫對方的資源。
本域指的是?
同協議:如都是http或者https
同域名:如都是http://jirengu.com/a 和http://jirengu.com/b
同端口:如都是80端口
如:
http://jirengu.com/a/b.js 和 http://jirengu.com/index.php (同源)
不同源的例子:
http://jirengu.com/main.js 和 https://jirengu.com/a.php (協議不同)
http://jirengu.com/main.js 和 http://bbs.jirengu.com/a.php (域名不同,域名必須完全相同才可以)
http://jiengu.com/main.js 和 http://jirengu.com:8080/a.php (端口不同,第一個是80)
需要注意的是: 對于當前頁面來說頁面存放的 JS 文件的域不重要,重要的是加載該 JS 頁面所在什么域
題目2: 什么是跨域?跨域有幾種實現形式
跨域是指 不同域名之間相互訪問
實現形式:
- jsonp
- CORS:跨域資源共享(Cross-Origin Resource Sharing)
- 降域
- postMessage()
題目3: JSONP 的原理是什么
原理是利用script標簽的可跨域性,在網頁中動態的創建,并添加script標簽,請求需要訪問的頁面資源的url,服務器將數據放在一個知道指定名字的回調函數給傳回來,由于網頁已經定義的該函數,參數被返回后,便會立即執行.
題目4: CORS是什么
CORS是w3c的一個標準,全稱是Cross-origin resource sharing 即跨域資源共享,使用它可以實現瀏覽器向跨源服務器發出XMLHttpRequest請求,從而克服了ajax只能同源使用的限制;需要指出的是CORS需要瀏覽器及服務器同時支持.
題目5: 根據視頻里的講解演示三種以上跨域的解決方式
json
csor
jsonp和cors我沒有按照老師寫的新聞的方法寫,我在html文件夾里面添加了幾張圖片,在后端往前端傳圖片名的方法換圖片
postmessage
降域