HTTP

김동현·2021년 7월 16일
0

Interation With Server

목록 보기
3/7

HTTP 요청 메서드

HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타낸다.

간혹 요청 메서드를 "HTTP 동사" 라고 부르기도 한다.

각각의 메서드는 서로 다른 의미를 구현하지만, 일부 기능은 메서드 집합 간에 서로 공유하기도 한다.

이를테면 응답 메서드는 안전 하거나, 캐시 가능 하거나, 멱등성을 가질 수 있다.

안전(Safe)(HTTP 메소드)

HTTP 메서드는 서버 상태를 변경하지 않으면 안전하다. 즉, 메소드가 읽기 전용 연산으로 이어질 경우 안전하다.

캐시 가능(Cacheable)

캐시 가능한 응답은 캐시할 수 있는 HTTP 응답으로, 검색 및 나중에 사용하기 위해 저장되며, 서버에 새 요청을 저장한다. 일부 HTTP 응답은 캐시할 수 없다.

멱등성

동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말한다.

다른 말로는, 멱등성 메서드에는 통계 기록 등을 제외하면 어떠한 부수 효과(side effect)도 존재해서는 안된다.

바르게 구현한 경우 GET, HEAD, PUT, DELETE 메서드는 멱등성을 가지며, POST 메서드는 그렇지 않다.

모든 안전한 메서드는 멱등성도 가진다.

GET

GET 메서드는 특정 리소스의 표시를 요청한다. GET을 사용하는 요청은 오직 데이터를 받기만 한다.

HEAD

HEAD 메서드는 GET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않는다.

POST

POST 메서드 특정 리소스에 엔티티를 제출할 때 쓰인다. 이는 종종 서버의 상태의 변화나 부작용을 일으킨다.

PUT

PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꾼다.

DELETE

DELETE 메서드는 특정 리소스를 삭제한다.

CONNECT

CONNECT 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺는다.

OPTIONS
OPTIONS 메서드는 목적 리소스의 통신을 설정하는 데 쓰인다.

TRACE

TRACE 메서드는 목적 리소스의 경로에 따라 메시지 loop-back 테스트를 한다.

PATCH

PATCH 메서드는 리소스의 부분만을 수정하는 데 쓰인다.

HTTP 메시지

HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식이다.

메시지 타입은 두 가지가 있다.

요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지

응답(response)은 요청에 대한 서버의 답변이다.

profile
개발자로서의 첫걸음

0개의 댓글

관련 채용 정보