HTTP Method란?
HTTP Method는 요청이 어떤 작업을 수행하기 위함인지 명시하기 위해 사용합니다. 대표적인 Method로는 Get, Post, Put, Path, Delete가 있습니다.
Method 종류와 특징
GET
GET 메소드는 클라이언트가 서버에게 리소스를 요청할 때 사용하는 메소드입니다. 또한, 이전에 GET 요청을 수행한 결과는 브라우저 히스토리에 저장되어 이후 동일한 요청은 캐싱이 가능합니다.
POST
POST 메소드는 클라이언트가 서버에게 데이터 생성을 요청할 때 사용하는 메소드입니다. POST 요청의 경우 전달할 데이터를 Body에 포함하여 전달하며 브라우저 히스토리에 남지 않아 캐싱이 불가능합니다.
PUT
PUT 메소드는 클라이언트가 서버에게 리소스 전체를 대체(덮어쓰기)하거나 해당 리소스가 없으면 생성을 요청할 때 사용하는 메소드입니다.
PATCH
PUT 메소드는 클라이언트가 서버에게 리소스의 일부분 수정을 요청할 때 사용하는 메소드입니다.
멱등성이란?
멱등성이란 같은 요청을 여러 번 보내더라도 결과가 동일한 성질을 의미합니다. 즉, 클라이언트가 같은 요청을 1번 보내든, 100번 보내든 서버의 상태나 응답 결과가 한 번 보낸 것과 같다면, 멱등하다고 할 수 있습니다.
HTTP Method와 멱등성
HTTP Method에 대한 멱등성 여부는 다음과 같습니다.
- 멱등성을 가지는 Method
- Get : 같은 리소스를 여러 번 조회해도 결과 동일
- Put : 동일한 리소스에 계속 덮어쓰므로 결과 동일
- Delete : 이미 삭제된 리소스는 다시 삭제해도 결과 동일
- 멱등성을 가지지 않는 Method
- Post : 중복 생성이 발생할 수 있으므로 결과가 동일하지 않음
- Patch : 일부 필드만 수정하므로, 반복 호출 시 결과가 동일하지 않음
- 단, 계속 동일한 값 수정 요청시 멱등할 수 있음
- 예를 들어, name을 Alice로 고정해서 계속 수정 요청하는 경우
HTTP Status Code란?
HTTP Status Code는 클라이언트가 보낸 요청에 대한 서버의 응답 코드로 요청의 성공과 실패 여부를 판단하기 위한 정보입니다. 100번대부터 500번대까지 총 5개의 클래스로 구분되어 요청에 대한 상태를 알려줍니다.
1XX (정보) : 요청을 받았으며 작업을 계속 수행
2XX (성공) : 요청을 성공적으로 처리했음
- 200 (OK) : 요청 성공
- 201 (Created) : 리소스 생성 성공
3XX (리다이렉션) : 요청을 완료하기 위해 추가 작업 조치 필요
4XX (클라이언트 오류) : 클라이언트 요청에 문제가 있음
- 400 (Bad Request) : 데이터 형식이 올바르지 않음
- 401 (Unauthorized) : 인증 필요
- 403 (Forbidden) : 권한 없음
- 404 (Not Found) : 존재하지 않는 리소스
5XX (서버 오류) : 서버가 유효한 요청의 수행을 실패
- 500 (Bad Gateway) : 예상하지 못한 오류 발생
예상 질문
HTTP Method란?
요청이 무슨 작업을 수행하기 위함인지 표시하기 위한 수단.
Get
Post
Put
- 리소스 전체 덮어쓰기 또는 없으면 생성
- 멱등함
Patch
Delete
멱등성이란?
요청을 1번 보내던 100번 보내던 동일한 결과가 나오는 상태를 유지하는가에 대한 여부
HTTP Status Code는 무엇인가요?
요청에 대한 처리 상태 확인
5개의 클래스로 구분