HTTP 메소드
의미
HTTP에서 클라이언트가 서버에게 요청하는 명령어(요청 종류)
HTTP/1.1에서 명세된 Method에는 GET, HEAD, POST, DELETE, PUT, TRACE, OPTIONS 가 있으며, 이 외에도 클라이언트-서버를 개발할 때 커스텀한 확장 메서드를 만들어서 사용할 수 있음
HTTP Method 마다 필요로하는 URL(리소스)와 요청 헤더가 있을 수 있음
GET
서버에게 리소스를 달라고 요청하기 위해 쓰임
가장 흔히 쓰는 메서드
URL에 질의(Query)를 사용하여 구체적인 요청을 할 수 있음
웹 브라우저 주소창에 URL을 입력하는 것이 해당 URL로 GET요청을 보내는 것임
HEAD
GET처럼 행동하지만, 응답으로 헤더만을 돌려주고 본문은 반환되지 않음
HEAD는 GET으로 얻는 부분과 정확히 일치해야 함
사용 이유
리소스를 가져오지 않고도 타입 등 리소스의 정보를 알아낼 수 있음
상태코드를 통해 개체의 존재유무 확인
헤더를 확인하여 리소스가 변경됐는지 확인
PUT
서버에 문서를 씀(write)
요청의 내용대로 새 문서를 만들거나 기존 문서를 교체함
서버의 콘텐츠를 변경하기 때문에 로그인 등 보안 요소가 동반 되기도 함
POST
서버에 입력 데이터를 전송하기 위해 설계됨
본문의 유형은 Content-Type 헤더로 나타내고, Content-Length 헤더로 데이터의 길이를 나타냄
전송할 데이터는 HTTP Request Message의 본문(entity)에 담아서 보냄
HTML의 폼(form)을 지원하기 위해 사용됨
POST는 단순히 전송, PUT은 리소스에 데이터를 입력하기 위해 사용
DELETE
지정한 리소스를 삭제할 것을 요청함. 단, 삭제가 보장되지 않음(클라리언트에 삭제됐다는 응답을 보내줄 수 있지만, 서버에서 실제 데이터를 지우지 않을 수 있음. 서버 정책에 따름)
서버가 이 요청을 무시할 수 있으며, HTTP 명세에는 서버가 클라이언트에게 알리지 않고 요청을 무시하는 것이 허용 됨
TRACE
응답 쪽 서버에서 요청의 내용이 어떻게 보이는지 알려달라고 요청하는것
목적지 서버에서 루프백 진단을 시도하여, 메시지가 어떻게 가고 오는지 확인할 수 있음
OPTIONS
서버에게 특정 리소스에 대해 어떤 메서드가 지원되는지 물어볼 수 있음
확장 메서드
HTTP/1.1 명세에 정의되지 않은 메서드로, 필요에 따라 확장하여 설계하는 메서드
애플리케이션과 서버를 만들 때 구현할 수 있음
참고문헌
Last updated