一、什麼是HTTP
HTTP(HyperText Transfer Protocol)是一套電腦通過網路進行通訊的規則。電腦專家設計出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP伺服器(Web伺服器)請求資訊和服務,HTTP目前協議的版本是1.1.HTTP是一種無狀態的協議,無狀態是指Web瀏覽器和Web伺服器之間不需要建立持久的串連,這意味著當一個用戶端向伺服器端發出請求,然後Web伺服器返迴響應(response),串連就被關閉了,在伺服器端不保留串連的有關資訊.HTTP遵循請求(Request)/應答(Response)模型。Web瀏覽器向Web伺服器發送請求,Web伺服器處理請求並返回適當的應答。所有HTTP串連都被構造成一套請求和應答。
HTTP使用內容類型,是指Web伺服器向Web瀏覽器返回的檔案都有與之相關的類型。所有這些類型在MIME Internet郵件協議上模型化,即Web伺服器告訴Web瀏覽器該檔案所具有的種類,是HTML文檔、GIF格式映像、音效檔還是獨立的應用程式。大多數Web瀏覽器都擁有一系列的可配置的輔助應用程式,它們告訴瀏覽器應該如何處理Web伺服器發送過來的各種內容類型。
二、HTTP通訊機制
HTTP通訊機制是在一次完整的HTTP通訊過程中,Web瀏覽器與Web伺服器之間將完成下列7個步驟:
(1) 建立TCP串連
在HTTP工作開始之前,Web瀏覽器首先要通過網路與Web伺服器建立串連,該串連是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網路。HTTP是比TCP更高層次的應用程式層協議,根據規則,只有低層協議建立之後才能,才能進行更層協議的串連,因此,首先要建立TCP串連,一般TCP串連的連接埠號碼是80
(2) Web瀏覽器向Web伺服器發送請求命令
一旦建立了TCP串連,Web瀏覽器就會向Web伺服器發送請求命令
例如:GET/sample/hello.jsp HTTP/1.1
(3) Web瀏覽器發送要求標頭資訊
瀏覽器發送其請求命令之後,還要以頭資訊的形式向Web伺服器發送一些別的資訊,之後瀏覽器發送了一空白行來通知伺服器,它已經結束了該頭資訊的發送。
(4) Web伺服器應答
客戶機向伺服器發出請求後,伺服器會客戶機回送應答,
HTTP/1.1 200 OK
應答的第一部分是協議的版本號碼和應答狀態代碼
(5) Web伺服器發送應答頭資訊
正如用戶端會隨同請求發送關於自身的資訊一樣,伺服器也會隨同應答向使用者發送關於它自己的資料及被請求的文檔。
(6) Web伺服器向瀏覽器發送資料
Web伺服器向瀏覽器發送頭資訊後,它會發送一個空白行來表示頭資訊的發送到此為結束,接著,它就以Content-Type應答頭資訊所描述的格式發送使用者所請求的實際資料
(7) Web伺服器關閉TCP串連
一般情況下,一旦Web伺服器向瀏覽器發送了請求資料,它就要關閉TCP串連,然後如果瀏覽器或者伺服器在其頭資訊加入了這行代碼
Connection:keep-alive
TCP串連在發送後將仍然保持開啟狀態,於是,瀏覽器可以繼續通過相同的串連發送請求。保持串連節省了為每個請求建立新串連所需的時間,還節約了網路頻寬。