【網站建設】瀏覽器發送HTTP請求的3種方式

2016-07-11 1680 0 編輯:Monster 來源:深色多郎(騰訊微博)

為了理解Ajax技術的基本原理,必須深入了解瀏覽器發送HTTP請求的方式,在傳統的Web應用程序中,瀏覽器向服務器發送一個HTTP請求,一般有以下兩種方式。

(1)在瀏覽器地址欄中輸入網址并回車。這將向服務器發送載入一個頁面的請求。如果URL中帶有查詢字符串,則還會將查詢字符串中的數據發送給服務器。

(2)提交表單。這將把表單中的數據發送給服務器并且載入action屬性中指定的頁面。

這兩種方式發送HTTP請求有一個共同點,即無論是輸入網址還是提交表單,都會使頁面刷新。服務器會返回給瀏覽器一個完整的頁面。

實際上,瀏覽器向服務器發送HTTP請求,還有第三種方式,即使用XMLHttpRequest對象發送異步HTTP請求。所謂“異步”,是指瀏覽器與服務器交互過程中(即瀏覽器發送請求和服務器返回響應的過程),用戶仍然可以在瀏覽器上進行其他一些操作,而不必等待服務器響應完成后才能操作。就好比人們在煮飯的同時仍然可以炒菜一樣。

異步方式發送HTTP請求與前兩種方式發送HTTP請求有明顯的不同。因為服務器返回給瀏覽器的不再是一個完整的頁面,而是一些字符串,所以瀏覽器不會刷新頁面(但為了更新頁面上的局部區域,通常把服務器返回的數據載入到頁面的某些元素中)。

具體來說,異步方式與傳統方式發送HTTP請求的區別可總結如下:

(1)傳統方式發送HTTP請求時一個HTTP請求對應一個頁面,因此每次發送請求后頁面會刷新;而異步方式發送HTTP請求不再對應一個頁面,發送HTTP請求后頁面不會刷新。

(2)傳統方式發送HTTP請求后,由于頁面會刷新,因此在刷新的過程(載入服務器返回的頁面)中,瀏覽器處于白屏狀態,用戶無法在瀏覽器上進行任何操作;而異步方式發送HTTP請求后,頁面不會刷新,因此用戶仍然可以繼續在瀏覽器上進行其他一些操作。

在很多時候,使用異步方式發送HTTP請求可以給用戶帶來很大便利。例如,一個用戶注冊的網頁,服務器需要檢查用戶輸入的用戶名是否已經被注冊過,這需要查詢數據庫。如果使用傳統方式發送HTTP請求的話,則在“發送HTTP請求->服務器查詢數據庫->服務器返回查詢結果的網頁”這個過程中,用戶都無法在瀏覽器上進行任何其他操作;而改用異步方式發送的話,則在“發送HTTP請求->服務器查詢數據庫->服務器返回查詢結果的字符串->載入字符串到某個頁面元素中”這個過程中,用戶仍然能在瀏覽器中進行其他一些操作,如繼續輸入后面的注冊項等。


本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
我們猜你喜歡
七星彩头尾