HTTP協議是什么協議,http協議特點用法詳解
什么是HTTP協議?
協議是指計算機通信網絡中兩臺計算機之間進行通信所必須共同遵守的規定或規則,HTTP協議(超文本傳輸協議)是一種通信協議,它允許將超文本標記語言(HTML)文檔從Web服務器傳送到客戶端的瀏覽器。
HTTP協議,即超文本傳輸協議(Hypertext transfer protocol)。是一種詳細規定了瀏覽器和萬維網(WWW = World Wide Web)服務器之間互相通信的規則,通過因特網傳送萬維網文檔的數據傳送協議。
HTTP協議是用于從WWW服務器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先于圖形)等。
HTTP是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型。HTTP是一個無狀態的協議。
在Internet中所有的傳輸都是通過TCP/IP進行的。HTTP協議作為TCP/IP模型中應用層的協議也不例外。HTTP協議通常承載于TCP協議之上,有時也承載于TLS或SSL協議層之上,這個時候,就成了我們常說的https。如下圖所示:
HTTP默認的端口號為80,HTTPS的端口號為443。
瀏覽網頁是HTTP的主要應用,但是這并不代表HTTP就只能應用于網頁的瀏覽。HTTP是一種協議,只要通信的雙方都遵守這個協議,HTTP就能有用武之地。比如咱們常用的QQ,迅雷這些軟件,都會使用HTTP協議(還包括其他的協議)。
HTTP協議簡史
它的發展是萬維網協會(World Wide Web Consortium)和Internet工作小組IETF(Internet Engineering Task Force)合作的結果,(他們)最終發布了一系列的RFC,RFC 1945定義了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定義了今天普遍使用的一個版本——HTTP 1.1。
HTTP協議特點
HTTP協議永遠都是客戶端發起請求,服務器回送響應。這樣就限制了使用HTTP協議,無法實現在客戶端沒有發起請求的時候,服務器將消息推送給客戶端。
HTTP協議的主要特點可概括如下:
1、支持客戶/服務器模式。支持基本認證和安全認證。
2、簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯系的類型不同。由于HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。
3、靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4、HTTP 0.9和1.0使用非持續連接:限制每次連接只處理一個請求,服務器處理完客戶的請求,并收到客戶的應答后,即斷開連接。HTTP 1.1使用持續連接:不必為每個web對象創建一個新的連接,一個連接可以傳送多個對象,采用這種方式可以節省傳輸時間。
5、無狀態:HTTP協議是無狀態協議。無狀態是指協議對于事務處理沒有記憶能力。缺少狀態意味著如果后續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。
無狀態協議:
協議的狀態是指下一次傳輸可以“記住”這次傳輸信息的能力。
http是不會為了下一次連接而維護這次連接所傳輸的信息,為了保證服務器內存。
比如客戶獲得一張網頁之后關閉瀏覽器,然后再一次啟動瀏覽器,再登陸該網站,但是服務器并不知道客戶關閉了一次瀏覽器。
由于Web服務器要面對很多瀏覽器的并發訪問,為了提高Web服務器對并發訪問的處理能力,在設計HTTP協議時規定Web服務器發送HTTP應答報文和文檔時,不保存發出請求的Web瀏覽器進程的任何狀態信息。這有可能出現一個瀏覽器在短短幾秒之內兩次訪問同一對象時,服務器進程不會因為已經給它發過應答報文而不接受第二期服務請求。由于Web服務器不保存發送請求的Web瀏覽器進程的任何信息,因此HTTP協議屬于無狀態協議(Stateless Protocol)。
HTTP協議是無狀態的和Connection: keep-alive的區別:
無狀態是指協議對于事務處理沒有記憶能力,服務器不知道客戶端是什么狀態。從另一方面講,打開一個服務器上的網頁和你之前打開這個服務器上的網頁之間沒有任何聯系。
HTTP是一個無狀態的面向連接的協議,無狀態不代表HTTP不能保持TCP連接,更不能代表HTTP使用的是UDP協議(無連接)。
從HTTP/1.1起,默認都開啟了Keep-Alive,保持連接特性,簡單地說,當一個網頁打開完成后,客戶端和服務器之間用于傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的連接。
Keep-Alive不會永久保持連接,它有一個保持時間,可以在不同的服務器軟件(如Apache)中設定這個時間。
HTTP協議工作流程
一次HTTP操作稱為一個事務,其工作過程可分為四步:
1)首先客戶機與服務器需要建立連接。只要單擊某個超級鏈接,HTTP的工作開始。
2)建立連接后,客戶機發送一個請求給服務器,請求方式的格式為:統一資源標識符(URL)、協議版本號,后邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。
3)服務器接到請求后,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務器信息、實體信息和可能的內容。
4)客戶端接收服務器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機與服務器斷開連接。
如果在以上過程中的某一步出現錯誤,那么產生錯誤的信息將返回到客戶端,有顯示屏輸出。對于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠標點擊,等待信息顯示就可以了。
HTTP是基于傳輸層的TCP協議,而TCP是一個端到端的面向連接的協議。所謂的端到端可以理解為進程到進程之間的通信。所以HTTP在開始傳輸之前,首先需要建立TCP連接,而TCP連接的過程需要所謂的“三次握手”。下圖所示TCP連接的三次握手。
在TCP三次握手之后,建立了TCP連接,此時HTTP就可以進行傳輸了。一個重要的概念是面向連接,既HTTP在傳輸完成之間并不斷開TCP連接。在HTTP1.1中(通過Connection頭設置)這是默認行為。
本文地址:武漢SEO優化頻道 http://www.aliciawheeler.com/seojishu/8895.html,武漢易企推公司是一家專業的武漢網絡推廣,百度開戶競價托管,SEO網站優化公司,提供一站式全網營銷服務:小程序開發,網站建設,SEO百度排名,SEM競價托管,百度推廣開戶、360搜狗百度競價開戶、百度地圖標注、百科詞條創建修改、微信公眾號代運營、公司負面公關處理等;另外,轉載本文請保留本文地址,本站部分文章圖片來自網絡,本著互聯網分享精神,如有侵犯到您的權益,請告知我們刪除,謝謝!
- 上一篇:500錯誤是什么意思,出現HTTP500錯誤原因及解決方法
- 下一篇:

-
http://代表什么,為么網站域名前面都要加http://
http://代表著含義是超文本傳輸協議(HTTP,Hyper Text Transfer Protocol)是訪問萬維網使用的核心通信協議,也是今天所有Web應用都會使用的協議。HTTP協議雖然被廣泛應用于Web應用之中,但由于其傳輸時的...
2022-06-24 02:06 -
HTTP協議是什么協議,http協議特點用法詳解
什么是HTTP協議?協議是指計算機通信網絡中兩臺計算機之間進行通信所必須共同遵守的規定或規則,HTTP協議(超文本傳輸協議)是一種通信協議,它允許將超文本標記語言(HTML)文檔從Web服務器傳送到客戶端的瀏覽器。HTTP協議,即超文本傳輸...
2022-06-24 11:06 -
HTTP 500內部服務器錯誤原因,HTTP 500錯誤如何解決?
HTTP 500內部服務器錯誤原因,HTTP 500錯誤如何解決?很多站長在建網站時會遇到網站無法顯示頁面的情況,如HTTP 500 內部服務器錯誤,這就意味著您正在訪問的網站出現了服務器問題,此問題阻止了該網頁的顯示。如果遇到HTTP 5...
2022-06-23 02:06 -
500錯誤是什么意思,出現HTTP500錯誤原因及解決方法
500錯誤是什么意思,出現HTTP500錯誤代碼原因及解決方法,打開網站的時候碰到“HTTP 500錯誤”,但因為不能直接看到錯誤的信息,無法找出發生錯誤的原因,往往讓人無從下手。本文將介紹三種常見的解決辦法,可以解決大部分HTTP 500...
2022-06-23 01:06 -
HTTP錯誤碼403禁止訪問是什么意思,怎么修復它
HTTP錯誤碼403禁止訪問是什么意思,怎么修復它,在上網的時候,收到任何的錯誤碼都是讓人沮喪的體驗。盡管我們已經習慣于404頁面找不到,我們在頁面迷失的時候,看到可愛的占位符來娛樂我們是很常見的事情了。但是有種更令人困惑的403錯誤:禁止...
2022-06-23 11:06 -
HTTP 404是什么意思,HTTP 404未找到解決方法
HTTP 404是什么意思,HTTP 404未找到解決方法我們在打開網站的時候,經常會遇到這樣一種故障:頁面上會顯示"HTTP 404 未找到"或者"HTTP 404出現錯誤"的提示等,那么這種故障產生的原因是什么呢?我們該如何處理這一類型...
2022-06-22 07:06
知識推薦
- 現在企業越來越難做,如何通過全網營銷實現傳統企業轉型?
- 電商網站建設的價格和基本設施費用,需要考慮哪些因素
- 搜索推廣oCPC深度優化之非BCP類的玩法!
- 域名備案流程及步驟,域名備案操作指南!
- 百度競價托管的效果如何?是否合理?
- 知道為什么頁面優化不上去嗎?因為你還沒有意識到自己的錯誤
- 適合企業品牌推廣的六大推廣渠道,提高知名度
- SEM競價推廣怎么提高對話溝通轉化率及降低跳出率
- SEO入門知識:什么是SEO,SEO的發展前景介紹
- 優質網站設計的出發點,我們在設計網站中需要特別注意的問題!
- 品牌展示型網站建設需要注意哪幾點
- SEM競價小白需要掌握提高競價推廣效果賬戶分析方法的幾個方法
- 影響網站收錄的因素有那些?
- 企業如何進行新聞營銷,來實現品牌快速曝光
- 關于騰訊公私域運營的梳理和總結,教你公域流量+私域流量最新玩法