HTTP請求和響應2:方法(Method)

來源:互聯網
上載者:User

標籤:cgi   pre   建立   war   設計   mode   com   post   delete   

方法表明了client希望server對資源啟動並執行動作。經常使用的方法包含:GET、HEAD、POST、PUT、TRACE、OPTIONS和DELETE,每一個server能夠實現這些方法中的部分或者所有。以下將對這些方法做一個具體的介紹。

GET
通經常使用於請求server發送某個資源。HTTP/1.1要求server必須實現該方法,以下是一個HTTP請求:
GET /seasonal/index-fall.html HTTP/1.1Host: www.joes-hardware.comAccept: *
響應報文例如以下:
HTTP/1.1 200 OKContent-Type: text/htmlContext-Length: 617//body
HEAD
HEAD和GET類似,僅僅是server的響應中僅僅返回首部(沒有實體部分),一般用於:
1)在不擷取資源的情況下瞭解資源的狀況。
2)通過查看響應中的狀態代碼,看看某個對象是否存在;
3)通過查看首部。測試資源是否被改動了。


HEAD返回的首部應該和GET返回的首部全然同樣。
PUT
向server寫入文檔。就是讓server用請求的主體部分來建立一個由所請求的URL命名的新文檔,或者假設那個URL已經存在的話,就用這個主體來替代它。
請求報文:

PUT /product-list.txt HTTP/1.1Host: www.joes-hardware.comContent-type: text/plainContent-length: 34//body
響應報文:
HTTP/1.1 201 CreatedLocation: http://www.joes-hardware.com/product-list.txtContent-type: text/plainContext-length: 47http://www.joes-hardware.com/product-list.txt
POST
POST通經常使用來支援HTML的表單,表單中填好的資料被發送到server。server將其交給相應的程式進行處理。
請求報文:
POST /inventory-check.cgi HTTP/1.1Host: www.joes-hardware.comContent-type: text/plainContent-length: 18item-bandsaw 2647
服務端交由相應程式處理後,發送響應報文:
HTTP/1.1 200 OKContent-type: text/plainContext-length: 37The bandsaw model 2647 is in stock!
TRACE
client發起一個請求,請求可能會穿過防火牆、代理、網關或其它一些應用程式。每一個中間節點都可能會改動原始的HTTP請求。

TRACE請求會在目地server端發起一個“環回”診斷,行程最後一站的server會彈回一條TRACE響應,並在響應主體中帶上收到的原始請求報文。這樣client能夠診斷原始報文是否被改動過。
請求報文:

TRACE /product-list.txt HTTP/1.1Accept:*Host: www.joes-hardware.com
報文經過代理server後:
TRACE /product-list.txt HTTP/1.1Host: www.joes-hardware.comAccept: *Via: 1.1 proxy3.company.com
server彈回的TRACE響應:
HTTP/1.1 200 OKContent-type: text/plainContent-length: 96TRACE /product-list.txt HTTP/1.1Host: www.joes-hardware.comAccept: *Via: 1.1 proxy3.company.com
TRACE響應經過代理server後:
HTTP/1.1 200 OKContent-type: text/plainContent-length: 96Via: 1.1 proxy3.company.comTRACE /product-list.txt HTTP/1.1Host: www.joes-hardware.comAccept: *Via: 1.1 proxy3.company.com
TRACE方法主要用於診斷。它基本的缺陷是它假定中間應用程式對各種不同類型請求(GET、HEAD、POST等)的處理都是同樣的,假設實際情況不同,那麼診斷將不準確。


OPTIONS
OPTIONS方法請求Webserver告知其支援的各種功能,這為client應用程式提供了一種手段。使其不用實際訪問那些資源就能判定訪問各種資源的最優方式。
請求報文:

OPTIONS * HTTP/1.1Host: www.joes-hardware.comAccept: *
響應報文:
HTTP/1.1 200 OKAllow: GET, POST, PUT, OPTIONSContext-length: 0
DELETE
DELETE方法用於請server刪除請求URL所指定的資源。


請求報文:

DELETE /product-list.txt HTTP/1.1Host: www.joes-hardware.com
響應報文:
HTTP/1.1 200 OKContent-type: text/plainContent-length: 54//響應訊息
擴充方法
HTTP被設計成欄位可擴充的,擴充方法指的是沒有在HTTP/1.1中定義的方法,這些方法為開發人員提供了一種擴充這些HTTP服務能力的手段。



HTTP請求和響應2:方法(Method)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.