1、OSI 的七層模型都有哪些?
應用層:網(wǎng)絡服務與最終用戶的一個接口。
(推薦教程:java面試題)
表示層:數(shù)據(jù)的表示、安全、壓縮。
會話層:建立、管理、終止會話。
傳輸層:定義傳輸數(shù)據(jù)的協(xié)議端口號,以及流控和差錯校驗。
網(wǎng)絡層:進行邏輯地址尋址,實現(xiàn)不同網(wǎng)絡之間的路徑選擇。
數(shù)據(jù)鏈路層:建立邏輯連接、進行硬件地址尋址、差錯校驗等功能。
物理層:建立、維護、斷開物理連接。
2、get 和 post 請求有哪些區(qū)別?
GET在瀏覽器回退時是無害的,而POST會再次提交請求。
GET產(chǎn)生的URL地址可以被Bookmark,而POST不可以。
GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
GET請求只能進行url編碼,而POST支持多種編碼方式。
GET請求參數(shù)會被完整保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會被保留。
GET請求在URL中傳送的參數(shù)是有長度限制的,而POST么有。
對參數(shù)的數(shù)據(jù)類型,GET只接受ASCII字符,而POST沒有限制。
GET比POST更不安全,因為參數(shù)直接暴露在URL上,所以不能用來傳遞敏感信息。
GET參數(shù)通過URL傳遞,POST放在Request body中。
3、如何實現(xiàn)跨域?
方式一:圖片ping或script標簽跨域
方式二:JSONP跨域
方式三:CORS
方式四:window.name+iframe
方式五:window.postMessage()
方式六:修改document.domain跨子域
方式七:WebSocket
方式八:代理
4、說一下 JSONP 實現(xiàn)原理?
jsonp 即 json+padding,動態(tài)創(chuàng)建script標簽,利用script標簽的src屬性可以獲取任何域下的js腳本,通過這個特性(也可以說漏洞),服務器端不在返貨json格式,而是返回一段調用某個函數(shù)的js代碼,在src中進行了調用,這樣實現(xiàn)了跨域。