1. 개요
- 클라이언트는 서버에 자원을 요청하고, 서버는 클라이언트에 요청에 대한 처리 결과를 응답한다.
- 이때, 클라이언트는 메소드를 이용해 서버에 요청의 목적이나 종류를 알린다.
- 서버는, 클라이언트의 요청을 처리한 결과를 상태코드와 함께 응답한다.
2. 메서드(Method)
- 클라이언트가 서버에 요청의 목적/종류를 알리는 수단
Method | 설명 |
GET | - 요청받은 URI의 정보를 검색하여 응답. - URI 끝에 파라미터를 통해 요청정보 전달. |
HEAD | - GET과 동일하나, 응답에 BODY 없이 응답코드와 HEAD만 응답. - 웹 서버 정보확인, 헬스체크, 버전 확인, 최종 수정일자 확인 등의 용도로 사용. |
POST | - 요청한 자원을 생성하거나 업데이트 목적으로 사용. - 전송할 데이터를 BODY에 FORM 형태로 담아서 전송. |
PUT | - 요청 자원을 수정한다. - 자원 전체 수정. |
PATCH | - PUT과 유사하게 요청된 자원을 수정할 때 사용한다. - 일부 자원 교체. |
DELETE | - 요청된 자원을 삭제. |
CONNECT | - 요청한 자원에 대해 양방향 연결(터널)을 생성. |
TRACE | - 원격지 서버에 루프백 메시지를 호출하기 위해 사용되며, 테스트용으로 사용. |
OPTIONS | - 서버에서 제공하는 Method 종류를 확인할 때 사용. |
3. 응답값(Status Code)
- 서버에서 클라이언트로 요청을 처리한 결과를 전송할때 사용
- 1xx(정보) : 요청을 받았고, 작업을 진행 중
- 2xx(성공) : 작업을 성공적으로 받았고, 이해했으며, 받아들여졌다는 의미
- 3xx(리다이렉션) : 요청을 완료하기 위해서는 리다이렉션이 이루어져야 한다는 의미
- 4xx(클라이언트 오류) : 요청은 올바르지 않다는 의미
- 5xx(서버 오류) : 서버가 응답할 수 없다는 의미
응답대역 | 응답코드 | 설명 |
1xx | 100 | - Continue - 클라이언트로부터 일부 요청을 받았으며, 나머지 정보를 계속 요청. |
101 | - Switching Protocols - 클라이언트가 Upgrade (en-US) 헤더를 통해 요청한 것에 따라 서버가 프로토콜을 바꾼다는 것을 알려주는 응답 코드. |
|
2xx | 200 | - OK - 클라이언트의 요청을 성공적으로 처리. |
201 | - Created - 요청이 성공적으로 처리되어서 리소스가 생성됨. |
|
202 | - Accepted - 요청이 받아들여졌지만 처리되지 않음. |
|
3xx | 301 | - Moved Permanently - 영구적으로 컨텐츠가 이동했을 때 사용. - location 헤더를 통해 해당 URL을 포함해 응답. |
302 | - Found - 일시적으로 컨텐츠가 이동했을때 사용. - location 헤더를 통해 해당 URL을 포함해 응답. |
|
304 | - Not Modified - 요청한 자원의 경로가 변경되지 않았으며, 클라이언트의 캐시된 자원을 사용하라는 의미. |
|
4xx | 400 | - Bad Request - 클라이언트의 요청 자체가 잘못된 경우 발생 |
401 | - Unauthorized - 인증이 필요한 리소스에 인증 없이 접근할 경우 발생. |
|
403 | - Forbidden - 서버에 요청이 전달되었지만, 권한 때문에 거절되었다는 것을 의미. |
|
404 | - Not Found - 서버가 요청받은 리소스를 찾을 수 없다는 것을 의미 |
|
5xx | 500 | - Internal Server Error - 서버에 오류가 발생해 작업을 수행할 수 없을 때 사용. |
503 | - Service Temporarily Unavailable - 서비스를 일시적으로 사용할 수 없을 때 사용. |
- 참고