HTTP協議和TCP/IP協議族內的其餘衆多協議相同,用於客戶端和服務器之間的通訊。
請求訪問資源的一端爲客戶端,響應資源的一端爲服務器。請求必須從客戶端發出,而服務器回覆響應,所以創建通訊是從客戶端開始的。html
POST /index.htm HTTP/1.1
Host: hackr.jp
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 16
name=ueno&age=25
報文說明瀏覽器
POST
/index.htm
HTTP/1.1
Host: hackr.jp
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 16
name=ueno&age=25
HTTP/1.1 200 OK
Date: Tue, 10 Jul 2012 06:50:15 GMT
Content-Length: 363
Content-Type: text/html
<html>
...
報文說明安全
HTTP/1.1 200 OK
200
OK
Date: Tue, 10 Jul 2012 06:50:15 GMT
Content-Length: 363
Content-Type: text/html
<html>
...
爲了更快的處理大量的事物,確保協議的伸縮性,所以把HTTP協議設爲無狀態協議;爲此,引入Cookie技術保存用戶的登錄狀態。服務器
GET方法用來請求訪問已被URI識別的資源。app
雖然GET方法和POST方法均可以用來傳輸實體,但通常不用GET方法。編碼
GET與POST的區別url
方法 | GET | POST |
---|---|---|
本質 | 索取數據 | 提交數據 |
安全性 | 低 | 高 |
執行效率 | 高 | 低 |
機制 | 將參數拼接在url上,明文傳輸 | 將表單內各個字段與其內容放置在HTML HEADER內一塊兒傳送到action屬性所指的URL地址 |
大小 | 取決於瀏覽器和系統 | 理論上沒有限制,取決於瀏覽器和系統 |
地址欄輸入 | 支持 | 不支持 |
瀏覽器歷史記錄 | 保留參數 | 參數不保留 |
編碼方式 | url編碼 | 多種編碼方式 |
PUT方法用來傳輸文件,相似FTP協議文件上傳,請求的報文中包含文件內容,而後保存在URI指定位置。
可是HTTP/1.1的PUT方法不帶驗證機制,任何人都能上傳文件,存在安全性問題,慎用。代理
相似GET方法,區別在於只返回報文首部,不返回報文主體。code
與PUT方法相反,用來刪除文件,DELETE方法按請求URI刪除指定資源。
可是HTTP/1.1的DELETE方法一樣不帶驗證機制,存在安全性問題,慎用。
區別orm
返回服務器支持的方法
旨在創建1次TCP鏈接後進行屢次請求和響應的交互,在HTTP/1.1中默認都是持久鏈接