當你訪問淘寶的時候,發生了什麼?

大型網站架構

輸入圖片說明

DNS解析

輸入圖片說明

CDN 的處理過程

輸入圖片說明

重定向

客戶端向服務器請求資源A,服務器發現A在其餘地方,因而返回301 Move Permanently給客戶端,告訴客戶端該資源被永久移動到位置B(經過響應頭部的Location字段):html

輸入圖片說明

而後客戶端從新請求資源B獲得想要的結果:html5

輸入圖片說明

重定向時,若是該資源是被臨時移動,服務端可能會返回302 Temporarily Moved,可是302響應可能會被搜索引擎認爲是在做弊,因此平常開發最好使用301Move Permanently 。nginx

最後,請求一個資源有可能發生屢次重定向行爲(請求A,被重定向到B,又被重定向到C,…,最後獲得真正的資源)。web

NGINX做爲WebSocket代理

對於企業生產用途,須要多個WebSocket服務器來實現性能和高可用性,須要瞭解WebSocket協議的負載平衡層,NGINX自1.3版本起支持WebSocket,並可做爲反向代理,並進行WebSocket的負載平衡應用。(全部版本的NGINX Plus也支持WebSocket。)後端

容許在客戶機和後端服務器之間創建隧道,NGINX支持WebSocket。對於NGINX將升級請求從客戶端發送到後臺服務器,必須明確設置Upgrade和Connection標題,以下例所示:服務器

location /wsapp/ { 
proxy_pass http://wsbackend; 
proxy_http_version 1.1; 
proxy_set_header Upgrade $http_upgrade; 
proxy_set_header Connection 「upgrade」; 
}

一旦完成,NGINX將此處理爲WebSocket鏈接。websocket

NGINX Websocket示例

Nginx 做爲 WebSockets 代理架構

WebSocket 教程 WebSocket 詳解教程 HTML5 WebSocketapp

搭建WebSocket服務器與客戶端socket

TCP/IP四層模型與OSI參考模型

相關文章
相關標籤/搜索