본문 바로가기

CS/Network

HTTP Method

Safe Methods

리소스를 수정하지 않는 메소드들 - OPTIONS, GET, HEAD 등 - 을 Safe하다고 말한다.

대부분의 경우 여러번 연산을 해도 값이 변하지 않는 멱등성(Idempotent)을 띄면 Safe 하다고 말한다.

 

DELETE는 Idempotent하지만 리소스를 변경하므로 Safe하지는 않다.

 

HEAD는 Response-Body 없이 Header만 얻기 위해 사용한다.

 

OPTIONS는 해당 리소스에 대해 가능한 Operation이 무엇인지 응답을 얻기 위해 사용한다.

 

더보기

The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. Responses to this method are not cacheable.

 

더보기

curl을 이용하여 OPTIONS 요청을 서버에 보냄으로써 서버에서 지원하는 method를 확인할 수 있다

 

리소스는 주어진 URI에 대한 정보인데, OPTIONS는 정보를 가지고 오는 것이 아니다.

OPTIONS는 그 URL에 대해 어떤 연산이 가능한지를 알려준다.

HTTP에서 이뤄지는 캐싱은 정보에 대해 이뤄진다.

그렇기 때문에 GET이나 HEAD같이 정보를 돌려주는 연산에만 캐싱할 수 있다.

 

HTTP Method

HTTP Method 설명
GET 요청받은 URI의 정보를 검색하여 응답한다.
HEAD GET방식과 동일하지만, 응답에 BODY가 없고 응답코드와 HEAD만 응답한다.
웹서버 정보확인 , 헬스체크, 버전확인, 최종 수정일자 확인 등의 용도로 사용된다.
POST 요청된 자원을 생성한다. 새로 작성된 리소스의 경우 HTTP헤더 항목 Location: URI주소를 포함하여 응답한다.
PUT 요청된 자원을 UPDATE한다. 내용 갱신을 위주로 Location:URI를 보내지 않아도 된다. 클라이언트측은 요청된 URI를 그대로 사용하는 것으로 간주한다.
PATCH PUT과 유사하게 요청된 자원을 수정할 때 사용한다. PUT의 경우 자원 전체를 갱신하는 의미이지만, PATCH는 해당 자원의 일부를 교체하는 의미로 사용한다.
DELETE 요청된 자원을 삭제할 것을 요청함. 
(안전성 문제로 대부분의 서버에서 비활성한다. )
CONNECT 동적으로 터널 모드를 교환, 프락시 기능을 요청시 사용한다.
TRACE 클라이언트가 방금 보낸 요청을 다시 달라고 서버에게 요청한다.
OPTIONS 해당 리소스에 대해 가능한 Operation이 무엇인지 응답을 얻기 위해 사용한다.

 

'CS > Network' 카테고리의 다른 글

HTTP와 HTTPS  (0) 2021.04.13
OSI 7계층  (0) 2021.04.13
URI - URL 그리고 URN  (0) 2021.04.12
HTTP Keep Alive  (0) 2021.04.12
TCP & UDP & TCP/IP  (0) 2021.04.12