HTTP 메서드와 상태 코드

trevor1107·2022년 9월 22일
0

네트워크

목록 보기
3/6

HTTP 메서드(Method)

HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타낸다. 클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단이다.

종류와 특징

Method기능특징요청 Body응답 Body안전멱등성캐시
GET조회특정 데이터를 요청한다.없음있음가능
HEADheader 조회GET과 동일한 응답을 요구하지만
header 정보만 가져온다.
없음없음가능
POST생성데이터 생성을 요청한다.있음있음아니요아니요불가능에 가까움
PUT수정데이터를 수정하거나
존재하지 않으면 생성할 것을 요청한다.
없음있음아니요아니요불가능
DELETE삭제특정 데이터 삭제를 요청한다.없음있음아니요불가능
CONNECT연결대상 자원으로 식별되는
서버에 대한 터널을 설정한다.
있음있음아니요아니요불가능
OPTIONS설정해당 URI에 대한 서버가 허용하는
메서드를 확인할 때 요청한다.
선택 사항있음불가능
TRACE테스트목적 리소스의 경로를 따라
메세지 loop-back 테스트를 한다.
없음있음불가능
PATCH일부 수정데이터의 일부 수정을 요청한다.있음있음아니요아니요가능

안전(Safe Methods)

여러 번 메서드를 호출해도 리소스가 변경되지 않는다는 뜻이다. 주요 메소드 중에는 GET 메소드가 안전하다고 볼 수 있다.

멱등성(Idempotent Methods)

여러 번 메서드를 호출해도 결과가 똑같다는 뜻이다.

캐시 가능(Cacheable Methods)

캐싱은 주어진 리소스의 복사본을 저장하고 있다가 요청 시에 그것을 제공하는 기술이다. 이전에 가져온 리소스를 재사용하여 성능을 향상시킨다.

POST의 경우 신선도가 표시되고 헤더가 설정된 경우 캐시될 수 있지만 이는 거의 구현되지 않는다. 브라우저에서 지원하지 않는 경우가 많은편이라 불가능이라고 판단하는 편이다.

HTTP 상태 코드(State)

특정 HTTP 요청이 성공적으로 완료되었는지 알려준다. 응답은 5가지의 그룹으로 나누어진다.

5가지의 그룹

  • 1xx 정보 제공(Informational): 요청을 받았으며 작업을 계속한다.
  • 2xx 성공(Successful): 요청에 대해 성공적으로 처리했다.
  • 3xx 리다이렉트(Redirection): 요청 완료를 위해 추가 작업 조치가 필요하다.
  • 4xx 클라이언트 오류(Client Error): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다.
  • 5xx 서버 오류(Server Error): 서버가 유효한 요청을 명백하게 수행하지 못했다.

자세한 상태코드는 Mozilla, Wiki 참고

profile
프론트엔드 개발자

0개의 댓글