天天看點

開發人員應該對IIS理論層的知識了解的多一些~第一講 什麼是Http?

百度百科定義:超文本傳輸協定 (HTTP-Hypertext transfer protocol) 是分布式,協作式,超媒體系統應用之間的通信協定。是網際網路(world wide web)交換資訊的基礎。它允許将超文本标記語言 (HTML) 文檔從 Web 伺服器傳送到 Web 浏覽器。HTML 是一種用于建立文檔的标記語言,這些文檔包含到相關資訊的連結。您可以單擊一個連結來通路其它文檔、圖像或多媒體對象,并獲得關于連結項的附加資訊。

1、支援客戶/伺服器模式。

2、 簡單快速:客戶向伺服器請求服務時,隻需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與伺服器聯系的類型不同。由于HTTP協定簡單,使得HTTP伺服器的程式規模小,因而通信速度很快。

3、靈活:HTTP允許傳輸任意類型的資料對象。正在傳輸的類型由Content-Type加以标記。

4、無連接配接:無連接配接的含義是限制每次連接配接隻處理一個請求。伺服器處理完客戶的請求,并收到客戶的應答後,即斷開連接配接。采用這種方式可以節省傳輸時間。

5、無狀态:HTTP協定是無狀态協定。無狀态是指協定對于事務處理沒有記憶能力。缺少狀态意味着如果後續處理需要前面的資訊,則它必須重傳,這樣可能導緻每次連接配接傳送的資料量增大。

發出的請求資訊包括以下幾個: 

●請求行,例如GET /images/logo.gif HTTP/1.1,表示從/images目錄下請求logo.gif這個檔案。 

●(請求)頭,例如Accept-Language: en 

●空行 

●可選的消息體 請求行和标題必須以<CR><LF>作為結尾(也就是,回車然後換行)。空行内必須隻有<CR><LF>而無其他空格。在HTTP/1.1協定中,所有的請求頭,除post外,都是可選的。

HTTP/1.1協定中共定義了八種方法(有時也叫“動作”)來表明Request-URI指定的資源的不同操作方式:

OPTIONS 傳回伺服器針對特定資源所支援的HTTP請求方法。也可以利用向Web伺服器發送'*'的請求來測試伺服器的功能性。 

HEAD 向伺服器索要與GET請求相一緻的響應,隻不過響應體将不會被傳回。這一方法可以在不必傳輸整個響應内容的情況下,就可以擷取包含在響應消息頭中的元資訊。 

GET 向特定的資源送出請求。注意:GET方法不應當被用于産生“副作用”的操作中,例如在web app.中。其中一個原因是GET可能會被網絡蜘蛛等随意通路。 

POST 向指定資源送出資料進行處理請求(例如送出表單或者上傳檔案)。資料被包含在請求體中。POST請求可能會導緻新的資源的建立和/或已有資源的修改。 

PUT 向指定資源位置上傳其最新内容。 

DELETE 請求伺服器删除Request-URI所辨別的資源。 

TRACE 回顯伺服器收到的請求,主要用于測試或診斷。 

CONNECT HTTP/1.1協定中預留給能夠将連接配接改為管道方式的代理伺服器。 

方法名稱是區分大小寫的。當某個請求所針對的資源不支援對應的請求方法的時候,伺服器應當傳回狀态碼405(Method Not Allowed);當伺服器不認識或者不支援對應的請求方法的時候,應當傳回狀态碼501(Not Implemented)。 

HTTP伺服器至少應該實作GET和HEAD方法,其他方法都是可選的。當然,所有的方法支援的實作都應當符合下述的方法各自的語義定義。此外,除了上述方法,特定的HTTP伺服器還能夠擴充自定義的方法。

感謝您的閱讀!

繼續閱讀