HTTP메소드는 서버가 수행해야할 동작을 지정합니다.

주요메소드에 대해 분류해봅시다.

GET

리소스의 조회에 사용되는 메소드입니다. 서버에 전달하고 싶은 데이터를 파라미터나 쿼리스트링을 통해 전달합니다. RequestBody를 통해 데이터를 전달할 수 있지만 지원하지 않는 곳도 많기에 권장하지 않습니다.

참고로 GET메소드는 캐싱이 가능합니다. 따라서 조회시 보다 빠르게 동작합니다.

POST

Request Body를 통해 서버로 요청데이터를 전달하는 메소드입니다. 서버는 바디를 통해 받은 데이터를 처리하는 모든 기능을 수행합니다. 주로 신규 리소스를 등록하거나, 프로세스 처리등에 사용합니다.

→ 일반적으로 201 상태코드는 신규리소스가 정상적으로 등록되었다는 코드로 사용됩니다.

PUT

타겟 리소스를 현재 메시지값으로 생성하거나, 덮어쓰기 하기위에 사용됩니다.

PUT은 POST와 다르게 클라이언트가 리소스의 위치를 알고 URI를 지정해주어야 합니다.

DELETE

자원을 삭제요청하기 위해 사용되는 메소드입니다.

GET과 POST의 비교

GET

GET방식은 요청하는 데이터가 url에 담겨 전송됩니다 즉, 쿼리스트링이나 파라미터에 의해 전달되죠. 때문에 데이터의 크기가 제한적입니다. 따라서 보안이 필요한 데이터거나, 데이터가 큰 경우 GET방식은 적절하지 않습니다.

POST

POST방식의 request는 body부분에 데이터가 담겨 전송됩니다. 암호화가 되진않지만 데이터 크기가 큰 경우 적합합니다. 다만 get과 달리 캐싱기능이 없기에 조회시에는 post요청이 사실상 부적합합니다.