1. 程式人生 > >Wb開發基礎-Http1.0協議-客戶端與伺服器端的互動

Wb開發基礎-Http1.0協議-客戶端與伺服器端的互動

    Web開發的學習已經有一段時間了,但是對於Web開發來講,最基礎的來講還要屬Http協議,因為它是Web瀏覽器和伺服器之間進行一問一答互動過程必須遵守的規則。

    當然,基本步驟大家都瞭解,不過我還是做了個小總結。“注”的部分可能是你還不瞭解的。

1,Http1.0協議下的客戶機伺服器資訊交換過程,包含4個步驟:

(1),客戶機向Web伺服器發出建立連線的資訊

(2),當連線建立以後,客戶機再發出請求資訊Web伺服器;

(3)Web伺服器接收到客戶機的請求後,進行處理,再將結果返回給客戶機;

(4),最後,伺服器斷開與客戶機的連線


注:

(1)伺服器與瀏覽器的連線過程是短暫的:從瀏覽器發出請求,到伺服器返回結果以後,連線過程結束;

(2)Web伺服器與瀏覽器的連線持續時間,與瀏覽器視窗開啟的時間沒有關係,連線過程並不會持續到瀏覽器程式關閉;

(3)伺服器與客戶機的每次連線,只處理一個請求和響應,即使是對同一個網站的每一個頁面的訪問,瀏覽器與Web伺服器都要建立一次單獨的連線;

(4)當瀏覽器獲得一個頁面訪問的後,瀏覽器就會斷開與伺服器的連線;而當瀏覽器要訪問伺服器上的另一個網頁的時候,它有需要重新與伺服器建立連線,也就是說:每一次滑鼠單擊都是一次請求

(5)當瀏覽器向伺服器發出了一個訪問請求,Web伺服器返回Html文件給瀏覽器以後,瀏覽器與伺服器就不再有任何關係,即使拔掉網線斷開網路,之前返回到瀏覽器的html文件資訊也會正常顯示,連線網路,再次在該頁面中點選一個超連結,又可以像

Web伺服器傳送新的請求了(這一點,相信大家都很有體會);而Web伺服器接收到新的請求時,它根本不知道客戶機曾斷開過網路——這就說明了:瀏覽器與伺服器之間的每次請求和響應過程都是完全獨立的

2,在瀏覽器與伺服器之間還可以加入一個或多個中間代理伺服器


(1)當代理伺服器接收到Web瀏覽器的訪問請求後,如果它的快取中沒有瀏覽器所請求的資源,這個代理伺服器就會向Web伺服器請求這個資源,然後返回給瀏覽器,並且還將資源的內容儲存在代理伺服器的本地快取中,以後如果再有瀏覽器請求已經快取的資源的時候,代理伺服器就直接從快取中取出儲存的內容進行響應,相對瀏覽器而言,代理伺服器就充當了Web伺服器的角色,而相對

Web伺服器而言,這個代理伺服器的工作就像普通的瀏覽器一樣,充當了客戶機的角色;

(2)在web瀏覽器和web伺服器之間可以使用多個代理伺服器,這樣可以減少Web伺服器的訪問數量;但是,在有了代理伺服器的情況下,我們也應該充分考慮網頁的有效性——也就是說,要把代理伺服器中快取的頁面,在Web伺服器端來說是最新的和沒有發生更改的。

當然,http協議也定義了一些與代理伺服器有關的內容這裡不多做介紹;

(3)代理伺服器工作流程圖:


3,總結

沒什麼可說的,基礎。 當然,Http1.0存在著很多缺陷,比如:

瀏覽器訪問包含有多圖片的網頁過程需要多次請求和響應,而在http1.0中每次請求和響應都需要建立一個單獨的連線,而每次連線都只是傳輸一個文件或影象,上一次的請求和這一次的請求時完全分離的;這就保持瀏覽器要獲得一個包含有許多影象的網頁檔案時,需要與Web伺服器建立多次連線,即使每個影象的內容都很小,但是客戶機與伺服器建立和關閉連線的過程也是相對比較費時的,建立一個關閉連線時嚴重影響客戶機和伺服器的效能;

Http1.1在1.0上有了很大的改進。待續。。。