網(wǎng)站建設(shè)頤高上海街保溫杯軟文營(yíng)銷300字
同源策略
瀏覽器有一個(gè)重要的安全策略,稱之為同源策略
其中,協(xié)議、端口號(hào)、域名必須一致,,稱之為同源,兩個(gè)源不同,稱之為跨源或跨域
同源策略是指,若頁(yè)面的源和頁(yè)面運(yùn)行過(guò)程中加載的源不一致時(shí),出于安全考慮,瀏覽器會(huì)對(duì)跨域的資源訪問(wèn)進(jìn)行一些限制
如何解決跨越問(wèn)題
jsonp
(利用script
標(biāo)簽沒(méi)有跨域限制的漏洞實(shí)現(xiàn)。缺點(diǎn):只支持GET
請(qǐng)求)CORS
(設(shè)置Access-Control-Allow-Origin
:指定可訪問(wèn)資源的域名Node
中間件代理Nginx
反向代理
談?wù)勀銓?duì) TCP 三次握手和四次揮手的理解
TCP 協(xié)議通過(guò)三次握手建立可靠的點(diǎn)對(duì)點(diǎn)連接,具體過(guò)程是:
首先服務(wù)器進(jìn)入監(jiān)聽(tīng)狀態(tài),然后即可處理連接
-
第一次握手:建立連接時(shí),客戶端發(fā)送 syn 包到服務(wù)器,并進(jìn)入 SYN_SENT 狀態(tài),等待服務(wù)器確認(rèn)。在發(fā)送的包中還會(huì)包含一個(gè)初始序列號(hào) seq。此次握手的含義是客戶端希望與服務(wù)器建立連接。
-
第二次握手:服務(wù)器收到 syn 包,然后回應(yīng)給客戶端一個(gè) SYN+ACK 包,此時(shí)服務(wù)器進(jìn)入 SYN_RCVD 狀態(tài)。此次握手的含義是服務(wù)端回應(yīng)客戶端,表示已收到并同意客戶端的連接請(qǐng)求。
-
第三次握手:客戶端收到服務(wù)器的 SYN 包后,向服務(wù)器再次發(fā)送 ACK 包,并進(jìn)入 ESTAB_LISHED 狀態(tài)。
最后,服務(wù)端收到客戶端的 ACK 包,于是也進(jìn)入 ESTAB_LISHED 狀態(tài),至此,連接建立完成
當(dāng)需要關(guān)閉連接時(shí),需要進(jìn)行四次揮手才能關(guān)閉
-
Client 向 Server 發(fā)送 FIN 包,表示 Client 主動(dòng)要關(guān)閉連接,然后進(jìn)入 FIN_WAIT_1 狀態(tài),等待 Server 返回 ACK 包。此后 Client 不能再向 Server 發(fā)送數(shù)據(jù),但能讀取數(shù)據(jù)。
-
Server 收到 FIN 包后向 Client 發(fā)送 ACK 包,然后進(jìn)入 CLOSE_WAIT 狀態(tài),此后 Server 不能再讀取數(shù)據(jù),但可以繼續(xù)向 Client 發(fā)送數(shù)據(jù)。
-
Client 收到 Server 返回的 ACK 包后進(jìn)入 FIN_WAIT_2 狀態(tài),等待 Server 發(fā)送 FIN 包。
-
Server 完成數(shù)據(jù)的發(fā)送后,將 FIN 包發(fā)送給 Client,然后進(jìn)入 LAST_ACK 狀態(tài),等待 Client 返回 ACK 包,此后 Server 既不能讀取數(shù)據(jù),也不能發(fā)送數(shù)據(jù)。
-
Client 收到 FIN 包后向 Server 發(fā)送 ACK 包,然后進(jìn)入 TIME_WAIT 狀態(tài),接著等待足夠長(zhǎng)的時(shí)間(2MSL)以確保 Server 接收到 ACK 包,最后回到 CLOSED 狀態(tài),釋放網(wǎng)絡(luò)資源。
-
Server 收到 Client 返回的 ACK 包后便回到 CLOSED 狀態(tài),釋放網(wǎng)絡(luò)資源。