2009-04-19 25 views

cevap

58

İlk önce HTTP 1.1 specification, özellikle de bölüm method definitions'a bir göz atmalısınız.

  • SEÇENEKLER sunucusu ile iletişim kurmasını sağlayan hakkında bilgi alın.

    İstek:

    OPTIONS * HTTP/1.1 
    Host: example.com 
    

    Yanıt:

    HTTP/1.1 200 OK 
    Date: … 
    Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE 
    Content-Length: 0 
    
  • bir kaynak alma GET.

    İstek:

    GET /foo/bar HTTP/1.1 
    Host: example.com 
    

    Yanıt:gibi GET, ama sadece HTTP başlığı döndürür

    HTTP/1.1 200 OK 
    Date: … 
    Content-Type: text/html;charset=utf-8 
    Content-Length: 12345 
      
    <!DOCTYPE … 
    
  • BAŞ.

    İstek:

    HEAD /foo/bar HTTP/1.1 
    Host: example.com 
    

    Yanıt:

    HTTP/1.1 200 OK 
    Date: … 
    Content-Type: text/html;charset=utf-8 
    Content-Length: 12345 
    
  • SONRASI yeni bir kaynak oluşturun.

    İstek:

    POST /foo/bar HTTP/1.1 
    Host: example.com 
    Content-Type: application/x-www-form-urlencoded 
      
    action=addentry&subject=Hello,%20World 
    

    Yanıt:

    HTTP/1.1 201 Created 
    Date: … 
    Content-Length: 0 
    Location: http://example.com/foo/bar   
    
  • PUT sunucuya veri gönderme.

  • DELETE Mevcut bir kaynağı silin.

  • TRACE İstemci tarafından gönderilen istek başlıklarını döndürün.

    İstek:

    TRACE /foo/bar HTTP/1.1 
    Host: example.com 
    

    Yanıt: bu örneklerin doğru olup olmadığını tam olarak bilmiyorum

    HTTP/1.1 200 OK 
    Date: … 
    Content-Length: 17 
      
    Host: example.com 
    

. Onları düzeltmek için çekinmeyin.

+1

çok iyi bir yanıt :) – dfa

+0

10 ve nasıl bir yöntem yazılır –

+0

Ayrıca bu yöntemler nasıl test edilir? cevabı almak için nereye yazın? –

13

cURL komut satırı aracını kullanarak farklı HTTP yöntemlerini deneyebilirsiniz. Örneğin:

curl --head http://www.google.co.uk 

HTTP/1.1 200 OK 
Cache-Control: private, max-age=0 
Date: Sun, 19 Apr 2009 15:33:24 GMT 
Expires: -1 
Content-Type: text/html; charset=ISO-8859-1 
Set-Cookie: PREF=ID=a2a414b9a84c8ffd:TM=1240155204:LM=1240155204:S=16kZnqzeSxIJT3jv; expires=Tue, 19-Apr-2011 15:33:24 GMT; path=/; domain=.google.co.uk 
Server: gws 
Transfer-Encoding: chunked 
  • -X seçenek GET dışındaki bir HTTP yöntemi belirtmenizi sağlar.
+2

İyi ipucu, + 1. Tüm tarayıcıların tüm yöntemleri desteklemediğini unutmayın. Bu nedenle, örneğin, Ruby on Rails aslında sadece GET ve POST kullanır, PUT ve DELETE kullanmaz. Curl tüm yöntemleri desteklemiyorsa, bir kişi bunları manuel olarak çağırmak için telnet kullanabilir: bkz. Örneğin http://tonycode.com/wiki/index.php?title=Making_HTTP_requests_via_telnet – Arjan

+0

Kabul edildi, bunu daha önce Telnet ile yaptım . –

İlgili konular