1. 程式人生 > >一、web請求

一、web請求

BS架構(Browser/Server)

  1. 客戶端使用統一的瀏覽器(Browser)
  2. 服務端(Server)基於統一的HTTP協議
    流程:使用者瀏覽器輸入URL地址–》DNS域名解析出IP地址–》向找到的伺服器傳送一個get請求–》伺服器返回資料資源

HTTP解析

請求頭 說明
Accept-Charset 用於指定客戶端接收的字符集
Accept-Encoding 用於指定可接受的內容編碼,如Accept-Encoding:deflate
Accept-Language 用於指定一種自然語言,如Accept-Language:zh-cn
Host 用於指定被請求資源的Internet主機和埠號,如:Host:www.taobao.com
User-Agent 客戶端將它的作業系統、瀏覽器和其他屬性告訴伺服器
Connection 當前連線是否儲存,如Connention-Keep-Active
響應頭 說明
Server 使用的伺服器名稱,如Server:Apache/1.3.6(Unix)
Connect-type 用於指定傳送給接收者的實體正文的媒體型別,如Content-Type:text/html;charset-GBK
Connect-Encoding 與請求報頭Accept-Encoding對應,告訴瀏覽器服務端採用的是什麼壓縮編碼
Connect-Language 描述了資源所用的自然語言,與Accept-Language對應
Connect-Length 指明實體正文的長度,用以位元組方式儲存的十進位制數字來表示
Keep-Active 保持連線的時間,如Keep-Alive: timeout-5, max=120
狀態碼 說明
200 客戶端請求成功
302 臨時跳轉,跳轉的地址通過Location指定
400 客戶端請求有語法錯誤,不能被伺服器識別
403 伺服器收到請求,但是拒絕提供服務
404 請求的資源不存在
500 伺服器發生不可預期的錯誤

瀏覽器快取

1、瀏覽器內部快取
2、快取伺服器的快取
快取可能會使資料異常
Ctrl+F5獲取最新資料,不訪問瀏覽器快取,也不訪問快取伺服器的快取
實現:兩種方式(實現Ctrl+F5效果)請求頭中新增
Pragma:no-cach
Cache-Control:no-cach
3、Expires設定快取失效時間
4、Last-Modified表示一個伺服器上資源的最後修改時間

DNS域名解析

通過域名是無法直接訪問遠端主機的,域名需要解析成IP地址才可以與遠端主機建立連線
大體步驟:
1.檢查瀏覽器快取–>2.檢查計算機本地快取–>3.檢查LDNS(Local DNS Server)–>4.訪問根伺服器
1、瀏覽器快取存在大小時間的限制,一般幾分鐘到幾小時不等
2、計算機本地快取在C:\Windows\System32\drivers\etc\hosts中
3、一般解析過程在LDNS就結束了
4、DNS根伺服器,如果壞掉了就完蛋了

CDN工作機制

CDN就是內容分散式網路,一般存放靜態資源,緩解伺服器壓力
會有負載均衡伺服器排程使最優的伺服器給使用者返回資料。