GET·POST·PUT·PATCH·DELETE 등 요청 메서드. 안전성·멱등성·캐시 가능성과 실제 사용법을 정리했습니다.
GET은 서버에서 리소스를 조회할 때 쓰는 가장 기본적인 HTTP 메서드입니다. 서버 상태를 바꾸지 않고 데이터를 읽기만 하므로 안전(safe)하고, 같은 요청을 여러 번 보내도 결과가 같아 멱등(idempotent)합니다.
POST는 서버에 데이터를 제출해 새 리소스를 만들거나 어떤 처리를 실행할 때 씁니다. 서버 상태를 바꾸므로 안전하지 않고(non-safe), 두 번 보내면 리소스가 두 개 생길 수 있어 멱등하지 않습니다(non-idempotent).
PUT은 지정한 URL에 리소스 전체를 통째로 교체(또는 없으면 생성)합니다. 같은 요청을 여러 번 보내도 최종 상태가 같으므로 멱등합니다.
PATCH는 리소스의 일부만 부분 수정합니다. 보낸 필드만 바뀌고 나머지는 그대로 유지되므로, 전체를 교체하는 PUT과 대비됩니다.
DELETE는 지정한 리소스를 제거합니다. 이미 지워진 것을 다시 지워도 '없음'이라는 최종 상태가 같으므로 멱등합니다.
HEAD는 GET과 똑같이 동작하되 응답 본문 없이 헤더만 돌려받습니다. 파일을 실제로 내려받지 않고 크기·타입·수정 시각·존재 여부만 확인할 때 유용합니다.
OPTIONS는 대상 리소스가 어떤 메서드·기능을 지원하는지 묻습니다. 실무에서 가장 많이 마주치는 건 브라우저가 교차 출처 요청 전에 보내는 CORS 프리플라이트(preflight)입니다.
TRACE는 요청이 프록시·게이트웨이를 거치며 어떻게 변형되는지 진단용으로 되돌려 받는 메서드입니다. 서버는 받은 요청을 그대로 본문에 담아 돌려줍니다(에코).
CONNECT는 프록시에게 대상 서버까지 양방향 터널을 열어 달라고 요청합니다. HTTPS 트래픽을 포워드 프록시로 통과시킬 때 쓰입니다.