一http
http協議簡介
1)、簡單快速:客戶向伺服器請求服務時,只需傳送請求方法和路徑。由於http協議簡單,使得http伺服器的程式規模小,因而通訊速度很快。
2)、靈活:http允許傳輸任意型別的資料物件。正在傳輸的型別由content-type加以標記。
3)、http 0.9和1.0使用非持續連線:限制每次連線只處理乙個請求,伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。http 1.1使用持續連線:不必為每個web物件建立乙個新的連線,乙個連線可以傳送多個物件,採用這種方式可以節省傳輸時間。
4)、無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。
5)、支援b/s和c/s模式。
3http的長短連線
首先要明白一點所謂的連線是指tcp連線,但是我們可以http的請求頭設定 keep-alive來設定長連線,http1.1是預設開啟的。
1)tcp的短連線,每請求來都需要建立新的連線,響應完都會關閉連線
2)tcp的長連線,每次請求完後tcp連線不關閉,而是等待一段時間比如20秒斷開連線
3)如果客戶端突然斷開連線則 進入如下操作
3.1)如果乙個給定的連線在兩小時內沒有任何動作,伺服器就向客戶傳送乙個探測報文段,根據客戶端主機響應探測4個客戶端狀態:
1客戶主機依然正常執行,且伺服器可達。此時客戶的tcp響應正常,伺服器將保活定時器復位。
2客戶主機已經崩潰,並且關閉或者正在重新啟動。上述情況下客戶端都不能響應tcp。服務端將無法收到客戶端對探測的響應。伺服器總共傳送10個這樣的探測,每個間隔75秒。若伺服器沒有收到任何乙個響應,它就認為客戶端已經關閉並終止連線。
3客戶端崩潰並已經重新啟動。伺服器將收到乙個對其保活探測的響應,這個響應是乙個復位,使得伺服器終止這個連線。
4客戶機正常執行,但是伺服器不可達。這種情況與第二種狀態類似。
二dns解析
dns解析是分布式儲存的,比如根網域名稱伺服器root dns,只儲存260個頂級網域名稱的dns伺服器的ip位址。頂級網域名稱伺服器如.com的dns伺服器,儲存的則是一些一級網域名稱的權威dns伺服器位址(如suning.com,qq.com,163.com的dns)。
查詢過程如下
使用者輸入www.baidu.com,首先查詢本地的host,如果有則返回 。沒有則瀏覽器呼叫作業系統resolver發起網域名稱查詢,resolver封裝乙個dns請求報文,並將其發給當地運營商(如移動,電信)分配的local dns位址(或者使用者自己配置的公共dns);
local dns查詢快取,如果命中則返回響應結果;否則向根伺服器發起查詢;
根伺服器返回com頂級網域名稱位址。每一層級的dns伺服器都有快取,實際都是先查快取,沒有快取才返回下級域,此處不再重複;
local dns查詢com。com返回baidu.com權威位址;
local dns查詢baidu.com,baidu.com返回www.baidu.com對應記錄結果。
應用層協議
應用層協議定義了執行在不同端系統上的應用程式程序如何相互傳遞訊息。特別是定義了 交換的訊息型別,如請求訊息和響應訊息。各種訊息型別的語法,如訊息中的各個字段及其詳細描述。欄位的語義,即包含在字段中的資訊的含義。程序何時 如何傳送訊息及對訊息進行響應的規則。有些應用層協議是由rfc文件定義的,因此它們...
應用層協議
dns 網域名稱解析協議 http 超文字傳輸協議 ftp 文字傳輸協議 tlent internet遠端登入服務的標準協議 smtp 簡單郵件傳輸協議 snmp 簡單網路管理協議 ssh 協議 加密的安全的連線 ftp 給予tcp文字傳輸的協議 tftp 基於udp,簡單檔案傳輸協議 1.網域名稱...
應用層協議 HTTP協議
認識url 我們平時說的 其實就是說的url。http請求 無狀態 並不會記錄當前使用者在訪問。https 加密協議 http常見header 分離報頭和有效載荷 正文 空行分離http的方法方法 說明支援的http協議版本 get 私密性不好 獲取資源 1.0 1.1 post 正文傳參 傳輸實體...