大家好圃郊,我是IT修真院上海分院第01期學員,一枚正直善良的web程序員女蜈。
今天給大家分享一下持舆,修真院官網(wǎng) CSS任務中可能會使用到的知識點:
瀏覽器如何渲染頁面
一、背景介紹
所有支持Javascript的瀏覽器都會使用同源策略這個安全策略伪窖。導致我們無法直接訪問非同源的鏈接逸寓,無法取得非同源的數(shù)據(jù),但在項目中我們的數(shù)據(jù)經(jīng)常寫在另一個源中覆山,于是我們需要突破同源限制竹伸,取得其他源的數(shù)據(jù),這就叫跨域簇宽。
二勋篓、知識剖析
常見的跨域方法有:
jsonp,利用了src屬性可以跨域的特性
document.domain跨子域
Access Control,服務器端發(fā)送Access-Control-Allow-Origin響應頭,規(guī)定請求的域名的訪問權限
nginx反向代理魏割,客戶端nginx攔截代碼中虛假的http請求譬嚣,替換成正確的http
三、常見問題
四钞它、解決方案
五拜银、編碼實戰(zhàn)
六殊鞭、擴展思考
JSONP跨域有什么優(yōu)缺點?
優(yōu)點:兼容性很好好盐股,可以在古老的瀏覽器中運行钱豁,
缺點:它只支持GET請求而不支持POST等其它類型的HTTP請求。
jsonp和ajax有什么關系疯汁?
ajax是通過操作XMLHttpRequest對象發(fā)送請求牲尺,獲取返回的數(shù)據(jù)。JSONP的全稱為JSON with Padding幌蚊,Padding 指的就是包裹在JSON 外層的回調(diào)函數(shù)谤碳。從剛才的例子中,咱們發(fā)現(xiàn)JSONP并沒有操作XMLHttpRequest溢豆,因此jsonp和ajax沒有任何關系蜒简。
如何用 JQUERY 實現(xiàn) JSONP
七、更多討論
問:詳細講一下什么是跨域漩仙?
答:
問:jsonp還有更多的缺點么搓茬?
答:JSONP目前還是比較流行的跨域方式,雖然JSONP使用起來方便队他,但是也存在一些問題:?
首先卷仑, JSONP 是從其他域中加載代碼執(zhí)行。如果其他域不安全麸折,很可能會在響應中夾帶一些惡意代碼锡凝,而此時除了完全放棄 JSONP 調(diào)用之外,沒有辦法追究垢啼。因此在使用不是你自己運維的 Web 服務時窜锯,一定得保證它安全可靠。
其次芭析,要確定 JSONP 請求是否失敗并不容易锚扎。雖然 HTML5 給元素新增了一個 onerror事件處理程序,但目前還沒有得到任何瀏覽器支持馁启。為此工秩,開發(fā)人員不得不使用計時器檢測指定時間內(nèi)是否接收到了響應。
問:JSON和JSONP有什么區(qū)別进统?
答:JSON是一種輕量級的數(shù)據(jù)交換格式,像xml一樣浪听,是用來描述數(shù)據(jù)間的螟碎。JSONP是一種使用JSON數(shù)據(jù)的方式,返回的不是JSON對象迹栓,是包含JSON對象的javaScript腳本掉分。
八、參考文獻
參考一:跨域資源共享 CORS 詳解
參考二:5 分鐘徹底明白 JSONP
九、視頻資料
感謝大家觀看
今天的分享就到這里啦酥郭,歡迎大家點贊华坦、轉發(fā)、留言不从、拍磚~