1. 程式人生 > 實用技巧 >HTTP和html

HTTP和html

在Web應用中,伺服器把網頁傳給瀏覽器,實際上就是把網頁的HTML程式碼傳送給瀏覽器,讓瀏覽器顯示出來。而瀏覽器和伺服器之間的傳輸協議是HTTP,所以:

  • HTML是一種用來定義網頁的文字,會HTML,就可以編寫網頁;

  • HTTP是在網路上傳輸HTML的協議,用於瀏覽器和伺服器的通訊

瞭解了HTTP協議和HTML文件,我們其實就明白了一個Web應用的本質就是:

  1. 瀏覽器傳送一個HTTP請求;

  2. 伺服器收到請求,生成一個HTML文件;

  3. 伺服器把HTML文件作為HTTP響應的Body傳送給瀏覽器;

  4. 瀏覽器收到HTTP響應,從HTTP Body取出HTML文件並顯示。

HTTP請求

跟蹤了新浪的首頁,我們來總結一下HTTP請求的流程:

步驟1:瀏覽器首先向伺服器傳送HTTP請求,請求包括:

方法:GET還是POSTGET僅請求資源,POST會附帶使用者資料;

路徑:/full/url/path

域名:由Host頭指定:Host: www.sina.com.cn

以及其他相關的Header;

如果是POST,那麼請求還包括一個Body,包含使用者資料。

步驟2:伺服器向瀏覽器返回HTTP響應,響應包括:

響應程式碼:200表示成功,3xx表示重定向,4xx表示客戶端傳送的請求有錯誤,5xx表示伺服器端處理時發生了錯誤;

響應型別:由Content-Type指定,例如:Content-Type: text/html;charset=utf-8

表示響應型別是HTML文字,並且編碼是UTF-8Content-Type: image/jpeg表示響應型別是JPEG格式的圖片;

以及其他相關的Header;

通常伺服器的HTTP響應會攜帶內容,也就是有一個Body,包含響應的內容,網頁的HTML原始碼就在Body中。

步驟3:如果瀏覽器還需要繼續向伺服器請求其他資源,比如圖片,就再次發出HTTP請求,重複步驟1、2。

Web採用的HTTP協議採用了非常簡單的請求-響應模式,從而大大簡化了開發。當我們編寫一個頁面時,我們只需要在HTTP響應中把HTML傳送出去,不需要考慮如何附帶圖片、視訊等,瀏覽器如果需要請求圖片和視訊,它會發送另一個HTTP請求,因此,一個HTTP請求只處理一個資源。

HTTP協議同時具備極強的擴充套件性,雖然瀏覽器請求的是http://www.sina.com.cn/的首頁,但是新浪在HTML中可以鏈入其他伺服器的資源,比如<img src="http://i1.sinaimg.cn/home/2013/1008/U8455P30DT20131008135420.png">,從而將請求壓力分散到各個伺服器上,並且,一個站點可以連結到其他站點,無數個站點互相連結起來,就形成了World Wide Web,簡稱“三達不溜”(WWW)。

HTTP請求

跟蹤了新浪的首頁,我們來總結一下HTTP請求的流程:

步驟1:瀏覽器首先向伺服器傳送HTTP請求,請求包括:

方法:GET還是POSTGET僅請求資源,POST會附帶使用者資料;

路徑:/full/url/path

域名:由Host頭指定:Host: www.sina.com.cn

以及其他相關的Header;

如果是POST,那麼請求還包括一個Body,包含使用者資料。

步驟2:伺服器向瀏覽器返回HTTP響應,響應包括:

響應程式碼:200表示成功,3xx表示重定向,4xx表示客戶端傳送的請求有錯誤,5xx表示伺服器端處理時發生了錯誤;

響應型別:由Content-Type指定,例如:Content-Type: text/html;charset=utf-8表示響應型別是HTML文字,並且編碼是UTF-8Content-Type: image/jpeg表示響應型別是JPEG格式的圖片;

以及其他相關的Header;

通常伺服器的HTTP響應會攜帶內容,也就是有一個Body,包含響應的內容,網頁的HTML原始碼就在Body中。

步驟3:如果瀏覽器還需要繼續向伺服器請求其他資源,比如圖片,就再次發出HTTP請求,重複步驟1、2。

Web採用的HTTP協議採用了非常簡單的請求-響應模式,從而大大簡化了開發。當我們編寫一個頁面時,我們只需要在HTTP響應中把HTML傳送出去,不需要考慮如何附帶圖片、視訊等,瀏覽器如果需要請求圖片和視訊,它會發送另一個HTTP請求,因此,一個HTTP請求只處理一個資源。

HTTP協議同時具備極強的擴充套件性,雖然瀏覽器請求的是http://www.sina.com.cn/的首頁,但是新浪在HTML中可以鏈入其他伺服器的資源,比如<img src="http://i1.sinaimg.cn/home/2013/1008/U8455P30DT20131008135420.png">,從而將請求壓力分散到各個伺服器上,並且,一個站點可以連結到其他站點,無數個站點互相連結起來,就形成了World Wide Web,簡稱“三達不溜”(WWW)。