HTTP 메소드

LeeKyungwon·약 14시간 전

공부 정리

목록 보기
24/24

HTTP 메소드란?

클라이언트가 웹 서버에게 사용자 리퀘스트의 목적이나 종류를 알리는 수단이다.

많이 사용하는 기본적인 메소드

GET

: 데이터를 받기 위해 사용하는 메소드

  • 리퀘스트 바디는 사용하지 않고 쿼리 스트링을 사용한다.
  • 불필요한 리퀘스트를 제한하기 위해 리퀘스트가 캐시될 수 있다.
  • 서버의 데이터 변경이 일어나지 않는다.
  • 멱등성을 가진다. (= GET으로 동일한 리퀘스트를 반복하여 전송하더라도 동일한 응답이 돌아옴)

POST

: 새로운 리소스를 생성하거나 기존 리소스를 수정하기 위해 서버에 데이터를 보내는 메소드

  • 리퀘스트 바디를 사용한다.
  • 일반적으로 캐시되지 않는다.
  • 리소스를 생성할 경우 이미 리소스가 있더라도 새로운 리소스를 생성한다.
  • 서버의 데이터 변경이 일어날 수 있다.
  • 멱등성을 가지지 않는다. (=POST로 동일한 리퀘스트를 반복하면 동일한 응답을 보장할 수 없다.)

PUT

: 새로운 리소스를 생성하거나 기존 리소스를 수정하기 위해 서버에 데이터를 보내는 메소드

  • 서버에 리소스가 없으면 생성하고, 있으면 클라이언트가 보낸 데이터로 대체하고 추가로 생성하진 않는다.
  • 멱등성을 가진다.

DELETE

: 지정한 리소스를 삭제하는 메소드

  • 서버의 데이터를 삭제하는 변경을 한다.
  • 멱등성을 가진다.

추가적으로 알아두면 좋을 메소드

PATCH

: 기존 리소스의 부분적인 수정을 위한 메소드이다.

  • PUT 리퀘스트는 데이터를 완전히 대체하는 것이라면 PATCH는 부분 수정을 위한 메소드이다.
{
	id: 'codeit',
	name: '코드잇',
	email: 'codeit@codeit.com',
	password: '1234'
}

예를 들어, 위와 같은 데이터가 있다면, id, name, email, password 전체를 생성 또는 변경하는데는 PUT을 사용하고, 기존에 있던 데이터에 name만 변경할 때는 PATCH를 사용한다.

  • 멱등성을 가지지 않는다.

: 특정 리소스를 GET 메소드로 요청했을 때 돌아올 헤더를 받기 위한 메소드이다.

  • 리스폰스의 바디 부분은 제외하고 헤드 부분만 받는다.
  • 실제 데이터가 아니라 데이터에 관한 정보만 얻으려고 하는 상황에 활용한다.
  • 멱등성을 가진다.

OPTIONS

: 주어진 URL 또는 서버에 대해 허용된 통신 옵션을 받기 위한 메소드이다.

  • 허용된 리퀘스트 메소드를 확인하거나 리소스에 대해 지원하는 옵션을 확인할 때 사용
  • 멱등성을 가진다.

CONNECT

: 요청한 리소스에 대해 양방향 연결을 시작하는 메소드이다.

  • SSL을 사용하는 웹사이트(HTTPS)에 접속하는데 사용될 수 있다.

0개의 댓글