HTTP是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫。它的發展是萬維網協會(World Wide Web Consortium)和Internet工做小組IETF(Internet Engineering Task Force)合做的結果,(他們)最終發佈了一系列的RFC,RFC 1945定義了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定義了今天廣泛使用的一個版本——HTTP 1.1。web
超文本傳輸協議是一種詳細規定了瀏覽器和萬維網服務器之間互相通訊的規則,經過因特網傳送萬維網文檔的數據傳送協議。瀏覽器
HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳送協議。它可使瀏覽器更加高效,使網絡傳輸減小。它不只保證計算機正確快速地傳輸超文本文檔,還肯定傳輸文檔中的哪一部分,以及哪部份內容首先顯示(如文本先於圖形)等。服務器
HTTP是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型。HTTP是一個無狀態的協議。網絡
HTTP協議的主要特色可歸納以下:ide
一、支持客戶/服務器模式。函數
二、 簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法經常使用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不一樣。因爲HTTP協議簡單,使得HTTP服務器的程序規模小,於是通訊速度很快。post
三、靈活:HTTP容許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。測試
四、無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接。採用這種方式能夠節省傳輸時間。url
五、無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺乏狀態意味着若是後續處理須要前面的信息,則它必須重傳,這樣可能致使每次鏈接傳送的數據量增大。spa
另外一方面,在服務器不須要先前信息時它的應答就較快。
get 和 post區別
區別:
get請求無消息體,只能攜帶少許數據
post請求有消息體,能夠攜帶大量數據
攜帶數據的方式:
get請求將數據放在url地址中
post請求將數據放在消息體中
GET請求請提交的數據放置在HTTP請求協議頭中,而POST提交的數據則放在實體數據中;
GET方式提交的數據最多隻能有1024字節,而POST則沒有此限制。
1.打開HTTP鏈接。必定要記住HTTP是一種無狀態協議。正由於如此,對於每個請求你都要創建一個新的鏈接。
2.設置HTTP請求頭。這裏麪包含要傳送的數據類型(二進制)和數據的總長。
3.發送請求。將二進制流寫到服務器。
4.讀取請求。目標servlet程序將被調用並接受HTTP請求數據。servlet程序就調用全部必要的參數選擇相應的方法。注意,若是這是這個客戶端的第一次請求,一個服務器對象的新的實例就會被建立。
5.調用方法。方法將會被服務器端的對象調用。
6.初始化方法響應。若是調用的方法拋出一個異常,客戶將接收到出錯信息。不然,返回的類型(若是有)將會被髮送。
7.設置HTTP響應頭。在響應頭中,必定會設置待發送數據的類型和長度。
8.發送響應。二進制數據流將從Web服務器發送並返回給客戶端。