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

Más contenido relacionado

La actualidad más candente

SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜
Yunsang Choi
 

La actualidad más candente (20)

Chap8 - HTTP 완벽가이드 8장
Chap8 - HTTP 완벽가이드 8장Chap8 - HTTP 완벽가이드 8장
Chap8 - HTTP 완벽가이드 8장
 
HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HTTP 완벽가이드 21장
HTTP 완벽가이드 21장
 
HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템
 
Web server
Web serverWeb server
Web server
 
HTTPS
HTTPSHTTPS
HTTPS
 
HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시
 
HTTP 완벽가이드 4장 커넥션관리
HTTP 완벽가이드 4장 커넥션관리HTTP 완벽가이드 4장 커넥션관리
HTTP 완벽가이드 4장 커넥션관리
 
IT 일반기술 강의자료_ed10
IT 일반기술 강의자료_ed10IT 일반기술 강의자료_ed10
IT 일반기술 강의자료_ed10
 
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
 
Nginx-http2
Nginx-http2Nginx-http2
Nginx-http2
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림
 
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
 
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014
 
HTTP/2와 웹 성능 최적화 방안
HTTP/2와 웹 성능 최적화 방안HTTP/2와 웹 성능 최적화 방안
HTTP/2와 웹 성능 최적화 방안
 
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
차곡차곡 쉽게 알아가는 Elasticsearch와 Node.js
 
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
 
SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜
 
파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄
 

Destacado

Destacado (20)

Express 프레임워크
Express 프레임워크Express 프레임워크
Express 프레임워크
 
Hadoop io part2
Hadoop io part2Hadoop io part2
Hadoop io part2
 
자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)
 
Atom
AtomAtom
Atom
 
자료구조 큐
자료구조 큐자료구조 큐
자료구조 큐
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션
 
연결 자료구조
연결 자료구조연결 자료구조
연결 자료구조
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
 
하둡관리
하둡관리하둡관리
하둡관리
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cli
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
 
Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링
 
Una startup sana
Una startup sanaUna startup sana
Una startup sana
 
Asyse nuestros servicios
Asyse nuestros serviciosAsyse nuestros servicios
Asyse nuestros servicios
 
Guidelines siting sharingb_bts ruanda PRAVILNIK O POZICIONIRANJU I RAZMEŠTANJ...
Guidelines siting sharingb_bts ruanda PRAVILNIK O POZICIONIRANJU I RAZMEŠTANJ...Guidelines siting sharingb_bts ruanda PRAVILNIK O POZICIONIRANJU I RAZMEŠTANJ...
Guidelines siting sharingb_bts ruanda PRAVILNIK O POZICIONIRANJU I RAZMEŠTANJ...
 

Similar a Http method (7)

대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest대용량 분산 아키텍쳐 설계 #5. rest
대용량 분산 아키텍쳐 설계 #5. rest
 
[APL OJT] REST API TEST
[APL OJT] REST API TEST[APL OJT] REST API TEST
[APL OJT] REST API TEST
 
Ksug 세미나 (윤성준) (20121208)
Ksug 세미나 (윤성준) (20121208)Ksug 세미나 (윤성준) (20121208)
Ksug 세미나 (윤성준) (20121208)
 
Restful API guide
Restful API guideRestful API guide
Restful API guide
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술
 
Web server page_ed10
Web server page_ed10Web server page_ed10
Web server page_ed10
 
HTTP web server 구현
HTTP web server 구현HTTP web server 구현
HTTP web server 구현
 

Más de Choonghyun Yang

Más de Choonghyun Yang (12)

Git
GitGit
Git
 
Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a
 
대규모 데이터 처리 입문
대규모 데이터 처리 입문대규모 데이터 처리 입문
대규모 데이터 처리 입문
 
네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가
 
No sql 분산모델
No sql 분산모델No sql 분산모델
No sql 분산모델
 
CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지
 
십진수 이외의 것
십진수 이외의 것십진수 이외의 것
십진수 이외의 것
 
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
 

Http method

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