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 | 게이트웨이가 잘못된 응답을 받았을 때를 의미한다. |