HTTP 응답코드
1xx
: 요청을 받은 상태
2xx
: 요청을 성공적으로 받은 상태
200 ... OK 서버가 요청을 성공적으로 처리
201 ... Created 성공적으로 요청을 처리하여 새로운 리소스가 생성 (보통 POST, PUT)
202 ... Accepted 요청을 받았지만, 아직 처리하지는 않은 상태
3xx
: 요청 완료를 위한 추가 작업이 필요한 상태 (보통 리소스가 옮겨져, 리다이렉션의 분류를 가짐)
4xx
: 클라이언트 측에서의 요청 오류
400 ... Bad Request 클라이언트 측의 request가 유효하지 않은 상태
401 ... Unauthorized 클라이언트가 권한이 없어 작업을 진행하지 못하는 상태 (인증이 필요)
403 ... Forbidden 서버가 요청을 거부한 상태
404 ... Not Found 서버가 요청한 페이지 / resource 를 찾지 못한 상태 (서버에 존재하지 않는 페이지의 요구)
5xx
: 서버 측에서의 수신 오류
500 ... 내부 서버 오류
502 ... Bad Gateway 서버가 업스트림 서버에서 잘못된 응답을 받았을 때
503 ... Service Unavailable 서버의 서비스 제공 불가 상태
HTTP 메서드
GET
: 요청받은 URI의 정보를 검색(조회), 응답
조회할 데이터에 대한 정보를 URL을 통해 받음 (content-type 값과 body에 데이터를 명시하지 않음)
조회에 성공 시, body에 XML / JSON 데이터와 함께 200 응답코드를 반환
에러시, 주로 400 / 404 에러 반환
POST
: 요청된 자원을 생성(CREATE)한다.
content-type 값과 body에 데이터를 명시하여 요청
요청 성공 시, 201 응답코드를 반환
PUT
: 요청된 자원을 수정(UPDATE)한다. (자원 전체를 갱신)
content-type 값과 body에 데이터를 명시하여 요청
요청 성공 시, body의 값을 저장하여 성공 응답을 반환
PATCH
: 요철된 자원을 수정(UPDATE)한다. (해당 자원의 일부만을 갱신)
DELETE
: 요청된 자원을 삭제할 것을 요청한다.
content-type 값과 body에 데이터를 명시하지 않음
데이터 삭제 성공 시, body 반환 없이 성공응답만 반환
POST / PUT 차이
POST
는 INSERT 개념
PUT
은 UPDATE 개념
POST
: 클라이언트가 리소스의 위치를 지정하지 않는 경우 ... 요청할 때 마다 새로운 자원이 생성됨.
PUT
: 클라이언트가 명확히 리소스의 위치를 지정하는 경우 ... 여러번 요청하더라도 새로운 자원이 생성되지 않음.
PUT / PATCH 차이
PUT
: 해당 자원의 전체를 교체하는 의미
PATCH
: 해당 자원의 일부를 변경한다는 의미