
HTTP란 서로 다른 웹끼리의 정보전송을 하기 위한 약속 및 규칙(이를 프로토콜이라고 한다.)이다. 요청(Request) 및 응답(Response)으로 이루어져 있다.
HTTP의 경우 응답 상태 코드라는 것이 존재하며 특정 HTTP의 요청이 성공적으로 완료되었는지 알려준다.
응답의 경우 5개의 그룹으로 나누어져 있다.
| 상태코드 | 설명 |
|---|---|
100, Continue | 임시적인 응답. 응답의 상태가 괜찮으며 클라이언트가 계속 요청하거나 이미 요청을 완료한 경우이다. |
101, Switching Protocol | 클라이언트가 보낸 요청 헤더에 대한 응답에 들어가며, 서버에서 프로토콜을 변경할 것을 알림. |
| 상태코드 | 설명 |
|---|---|
200, OK | 요청이 성공적으로 완료됐으며, 성공의 의미는 HTTP 메소드에 따라 달라진다. 1-1 추가 설명 |
201, Created | 요청이 성공적으로 완료됐으며, 결과값으로 새로운 리소스가 생성됐음. |
204, No Content | 요청에 대해서 보내줄 수 있는 콘텐츠가 없으나, 헤더는 의미 있을 수 있음. |
1-1
GET : 리소스를 불러와서 메세지 바디에 전송됐음.HEAD : 개체 헤더가 메세지 바디에 있음.PUT : 수행 결과에 대한 리소스가 메세지 바디에 전송됐음.POST : PUT 메소드와 같은 의미임.TRACE : 메세지 바디는 서버에서 수신한 요청 메세지를 포함하고 있음.300번대의 메세지이다.
| 상태코드 | 설명 |
|---|---|
300, Multiple Choice | 요청에 대해서 하나 이상의 응답이 가능하다. 클라이언트는 하나를 반드시 선택해야 한다. |
301, Moved Permanently | 요청한 리소스의 URI가 변경되었음을 의미한다. |
302, Found | 요청한 리소스의 URI가 일시적으로 변경되었음을 의미한다. 새롭게 변경된 URI는 나중에 만들어질 수 있다. |
요청이 올바르지 않다는 의미이다. 해당 요청들의 경우 브라우저에 노출된다.
400번대의 메세지이다.
| 상태코드 | 설명 |
|---|---|
400, Bad Request | 이 응답은 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미한다. |
401, Unauthorized | 인증이 필요한 리소스에 인증없이 요청한 경우를 의미한다. |
403, Forbidden | 클라이언트는 컨텐츠에 접근할 권리를 가지고 있지 않다. 서버가 요청을 거부할 때 발생한다. |
404, Not Found | 서버가 요청받은 리소스를 찾을 수 없다. 즉 서버와 연결은 됐으나 전달받은 데이터가 없음을 의미함. |
405, Method Not Allowed | 요청한 메소드를 서버가 전달받았으나, 제거됐거나 사용할 수 없는 상태이다. |
410, Gone | 요청한 컨텐츠가 서버에서 영구적으로 삭제되었으며, 전달해 줄 수 있는 주소 역지 존재하지 않은 상태이다. |
서버가 응답할 수 없는 의미이며 해당 요청이 올바른지의 여부를 확인할 수 없는 경우이다.
500번대의 메세지이다.
| 상태코드 | 설명 |
|---|---|
500, Internal Server Error | 서버에 오류가 발생하여 작업을 수행할 수 없을 경우이다. 서버는 처리 방법을 알 수 없다. |
501, Not Implemented | 요청 방법은 서버에서 지원되지 않으므로 처리할 수 없다. 서버가 지원해야하는 유일한 방법은 GET 또는 HEAD이다. |
502, Bad Gateway | 게이트웨이가 잘못된 응답을 받았을 때를 의미한다. |