May 16, 2021
리소스 조회
를 위한 메서드. 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터 or 쿼리 스트링)를 통해서 전달한다.
다음과 같은 형태
GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com
데이터를 헤더에 쿼리 스트링으로 전달한다.
POST 방식보다 빠르다.
Message Body를 사용하지 않는다.
데이터 처리를 요청하기 위한 메서드. 클라이언트에서 데이터를 줄테니 서버가 처리해달라는 뜻.
예를 들어 새로운 멤버를 등록하고 싶은 경우
POST /members HTTP/1.1
Content-Type: application/json
{
"username": "awesomeo184",
"age": 50
}
위와 같이 요청을 보내면
서버에서 신규 리소스 식별자(예를 들어 members/100)를 생성한 후 다음과 같이 응답 데이터를 보낸다.
HTTP /1.1 201 Created
Content-Type: application/json
Content-Length: 34
Location: /members/100
{
"username": "awesomeo184",
"age": 50
}
처리를 원하는 데이터를 메시지 바디에 전달한다.
‘처리’ 한다는게 무슨 뜻일까? HTTP 스펙 을 보면 POST를 다음과 같은 기능에 사용한다고 소개하고 있다.
즉 한마디로 딱히 정해진 것이 없다. 리소스 URI에 POST 요청이 오면 요청 데이터를 어떻게 처리할지는 리소스마다 따로 정해야 한다.
김영한님 인프런 강의 - 모든 개발자를 위한 HTTP 웹 기본 지식