Http method

863 views

Published on

HTTP Method

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
863
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Http method

  1. 1. HTTP Methodchoong
  2. 2. 8개의 MethodMethodGETPOSTPUTDELETEHEADOPTIONSTRACECONNECT
  3. 3. Method 의미• GET• 리소스 취득 (read)• POST• 서브 리소스의 작성, 리소스 데이터 추가, 그 외.. (create)• PUT• 리소스 갱신, 리소스 작성 (update, create)• DELETE• 리소스 삭제 (delete)• HEAD• 리소스의 헤더 취득• OPTIONS• 리소스가 서포트 하는 메서드의 취득• TRACE• 자기 앞으로 요청 메시지를 반환(루프 백) 시험• CONNECT• 프록시 동작의 터널 접속으로 변경
  4. 4. GET• 리소스의 취득.• RequestGET /list HTTP/1.1Host: example.com• ResponseHTTP/1.1 200 OKContent-Type:application/json{json data…//생략}
  5. 5. POST• 리소스의 작성, 추가.• RequestPOST /list HTTP/1.1Host: example.comContent-Type: text/plain;charset=utf-8안녕하세요!• ResponseHTTP/1.1 201 CreatedContent-Type: text/plain;charset=utf-8Location:Http://example.com/list/item5안녕하세요!
  6. 6. POST• 리소스 데이터 추가• Request Header infoPOST /log HTTP/1.1Host: example.com• Response Header infoHTTP/1.1 20o OKContent-Type: text/plain;charset=utf-8• 다른 method로는 대응할 수 없는 부분 처리
  7. 7. PUT• 리소스의 갱신• RequestPUT /list/item5 HTTP/1.1Host:example.comContent-Type:text/plain;charset=utf-8좋은밤이네요!• ResponseHTTP/1.1 200 OKContent-Type:text/plain;charset=utf-8좋은밤이네요!
  8. 8. PUT• 리소스의 작성• RequestPUT /newitem HTTP/1.1Host:example.comContent-Type:text/plain;charset=utf-8좋은 아침이네요!• ResponseHTTP/1.1 201 OKContent-Type:text/plain;charset=utf-8좋은 아침이네요!
  9. 9. POST vs PUT• 리소스를 작성 할 경우• POST• 리소스 URI 결정권은 서버.• PUT• 리소스 URI 결정권은 클라이언트.• Wiki 같이 타이틀 그대로 URI가 되는경우.• 리소스 작성은 POST로 수행 (권장)
  10. 10. DELETE• 리소스의 삭제• RequestDELETE /list/item2 HTTP/1.1Host:example.com• ResponseHTTP/1.1 200 OK
  11. 11. HEAD• 리소스의 헤더 취득• RequestHEAD /list/item1 HTTP/1.1Host:example.com• ResponseHTTP/1.1 200 OKContent-Type:text/plain;charset=utf-8• Response 정보 BODY 미 포함• 네트워크 대역 절약, 리소스 크기 및 갱신일자 조회
  12. 12. OPTIONS• 리소스 URI가 지원하는 Method 목록 반환• RequestOPTIONS /list HTTP/1.1• ResponseHTTP/1.1 200 OKAllow:GET,HEAD,POST
  13. 13. _method• HTML에서 지정 가능한 Method• POST, GET• XMLHttpRequest를 사용하면 해결 되지만 지원하지 않는브라우져가 존재.• _method• <input type=‘hidden’ id=‘_method’ value=“PUT”>• Request infoPOST /list/item HTTP/1.1Host:example.comContent-Type:application/x-www-form-urlencoded_method=PUT&body=...//body 내용 생략
  14. 14. X-HTTP-Method-Override• POST 내용이 XML 인 경우application/x-www-form-urlencoded 이용불가.• X-HTTP-Method-Override 사용• Request infoPOST /list/item1 HTTP/1.1Host:example.com…X-HTTP-Method-Override:PUT
  15. 15. 멱등성과 안정성• GET,HEAD• 멱등이고 안전하다.• PUT,DELETE• 멱등이지만 안전하지 않다.• POST• 멱등이지도 안전하지도 않다.

×