題目1: 什么是同源策略
瀏覽器出于安全方面的考慮缤灵,只允許與本域下的接口交互怠蹂。不同源的客戶端腳本在沒(méi)有明確授權(quán)的情況下,不能讀寫對(duì)方的資源搀愧。
本域指的是惰聂?
同協(xié)議:如都是http或者h(yuǎn)ttps
同域名:如都是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 (協(xié)議不同)
http://jirengu.com/main.js 和 http://bbs.jirengu.com/a.php (域名不同,域名必須完全相同才可以)
http://jiengu.com/main.js 和 http://jirengu.com:8080/a.php (端口不同,第一個(gè)是80)
需要注意的是: 對(duì)于當(dāng)前頁(yè)面來(lái)說(shuō)頁(yè)面存放的 JS 文件的域不重要咱筛,重要的是加載該 JS 頁(yè)面所在什么域
題目2: 什么是跨域庶近?跨域有幾種實(shí)現(xiàn)形式
跨域是指 不同域名之間相互訪問(wèn)
實(shí)現(xiàn)形式:
- jsonp
- CORS:跨域資源共享(Cross-Origin Resource Sharing)
- 降域
- postMessage()
題目3: JSONP 的原理是什么
原理是利用script標(biāo)簽的可跨域性,在網(wǎng)頁(yè)中動(dòng)態(tài)的創(chuàng)建,并添加script標(biāo)簽,請(qǐng)求需要訪問(wèn)的頁(yè)面資源的url,服務(wù)器將數(shù)據(jù)放在一個(gè)知道指定名字的回調(diào)函數(shù)給傳回來(lái),由于網(wǎng)頁(yè)已經(jīng)定義的該函數(shù),參數(shù)被返回后,便會(huì)立即執(zhí)行.
題目4: CORS是什么
CORS是w3c的一個(gè)標(biāo)準(zhǔn),全稱是Cross-origin resource sharing 即跨域資源共享,使用它可以實(shí)現(xiàn)瀏覽器向跨源服務(wù)器發(fā)出XMLHttpRequest請(qǐng)求,從而克服了ajax只能同源使用的限制;需要指出的是CORS需要瀏覽器及服務(wù)器同時(shí)支持.
題目5: 根據(jù)視頻里的講解演示三種以上跨域的解決方式
json
csor
jsonp和cors我沒(méi)有按照老師寫的新聞的方法寫,我在html文件夾里面添加了幾張圖片,在后端往前端傳圖片名的方法換圖片
postmessage
降域