HTTP method

조현근·2022년 10월 25일
0
post-thumbnail

웹 프로그래밍을 하면서 항상 사용했던 http method, 하도 많이 사용해서 익숙해진 지금 한번 정리하고 가자!

주요 메서드

GET

GET메서드는 특정 자원에 대한 표현을 요청합니다. GET을 사용한 요청은 데이터만 얻어야 합니다.
The GET method requests a representation of the specified resource. Requests using GET should only retrieve data.

멱등성

보장됨
동일한 GET요청을 보내 데이터를 조회하더라도 서버의 상태에는 아무런 변화가 없음.

POST

POST메서드는 특정 자원에 대한 엔티티를 제출합니다. 주로 상태의 변화나 side effect를 서버에 일으킵니다.
The POST method submits an entity to the specified resource, often causing a change in state or side effects on the server.

멱등성

보장안됨
동일한 POST요청을 보내더라도 서버에서 항상 같은 결과가 나온다는 보장이 없음. 서버 로직에서 유일성이 보장되지 않은 데이터를 계속 POST하는 경우 서버엔 계속 같은 값의 데이터가 추가되게 됨.

PUT

PUT메서드는 대상 리소스의 모든 현재 표현을 request payload로 바꿉니다.
The PUT method replaces all current representations of the target resource with the request payload.

멱등성

보장됨
PUT은 특정 데이터를 아예 교체해버림. 따라서 같은 요청에 대해 서버의 상태는 항상 동일하게 유지됨.

PATCH

PATCH메서드는 리소스의 부분을 변경합니다.
The PATCH method applies partial modifications to a resource.

멱등성

보장안됨
PATCH는 특정 데이터에 변화를 가함. 특정 데이터 일부를 교체하게 되면 멱등성이 보장되지만, 특정 데이터 일부를 변화시킨다면(ex. 1씩 증가) 같은 요청이라도 서버의 상태는 매번 달라지게 됨.

DELETE

DELETE메서드는 특정 리소스를 삭제합니다.
The DELETE method deletes the specified resource.

멱등성

보장됨
특정 데이터를 삭제하라는 요청을 서버에 계속 보내더라도 서버에선 해당 데이터가 삭제된 그 상태가 계속 유지됨. 따라서 멱등성이 보장됨.

출처 및 참고자료

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
https://tecoble.techcourse.co.kr/post/2020-08-17-put-vs-patch/

profile
안녕하세요!

0개의 댓글