etc

Web status - HTTP 상태 코드

2018. 10. 12. 09:21
반응형

WEB Status - HTTP 상태 코드


간단한 서버 구축, 크롤링 작업 등을 통해 200, 404, 405 등 자주 마주치는 상태 코드들에 대해서는 알고 있었지만 1xx, 3xx 등의 상태 코드에 대해서는 아는 바가 없어 자주 보이는 대표적인 상태코드에 대해 한 번 정리하기로 하였다.



1XX - 조건부 응답


임시 응답으로 선택적 헤더만을 포함한다.


100 Continue

지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시 가능


101 Switching Protocol

클라이언트가 보낸 Upgrade 요청 헤더에 대한 응답

서버에서 프로토콜을 변경할 것을 전달


102 Processing

서버가 요청을 수신하였으며 이를 처리하고 있지만, 아직 제대로 된 응답을 알려줄 수 없음



2XX - 성공 응답


클라이언트가 요청한 동작을 수신하여 이해했고 승낙했으며 성공적으로 처리했음


200 OK

서버가 요청을 제대로 처리했다는 뜻. 주로 서버가 요청한 페이지를 제공했다는 의미


201 Created

성공적으로 요청되었으며 서버가 새 리소스를 작성

일반적으로 POST 요청 또는 일부 PUT 요청 이후에 따라옴


202 Accepted

서버가 요청을 접수했지만 아직 처리하지 않음

다른 프로세스에서 처리 또는 서버가 요청을 다루고 있거나 배치 프로세스를 하고 있는 경우를 위해 만들어짐


203 Non-Authoritative Information(신뢰할 수 없는 정보)

서버가 요청을 성공적으로 처리했지만 다른 소스에서 수신된 정보를 제공하고 있음


206 Partial Content

클라이언트에서 복수의 스트림을 분할 다운로드 하고자 범위 헤더를 전송

즉, 서버가 GET 요청의 일부만 성공적으로 처리



3XX - 리다이렉션 메시지


300 Multiple Choice

요청에 대해 하나 이상의 응답 가능

요청자가 선택할 수 있는 작업 목록을 제공

그러나 표준화 된 방법은 존재하지 않음


301 Moved Permanetly

요청한 리소스의 URI가 영구적으로 변경되었음


302 Found

요청한 리소스의 URI가 일시적으로 변경되었음

클라이언트는 향후의 요청도 반드시 동일한 URI로 해야함


303 See Other

클라이언트가 요청한 리소스를 다른 URI에서 GET 요청을 통해 얻어야할 때, 서버가 클라이언트로 직접 보내는 응답



4XX - 요청 오류 응답


클라이언트에 오류가 있음을 나타냄


400 Bad Request

잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음


401 Unathorized

클라이언트는 요청한 응답을 받기 위해서는 반드시 스스로를 인증해야 함

상태 코드 이름은 Unauthorized(미인증)이지만, 사실 Unauthenticated(비인증)에 더 가까움


403 Forbidden

클라이언트가 컨텐츠에 접근할 권리를 가지고 있지 않음

401과의 차이점은 서버가 클라이언트가 누구인지 알고 있음

(401은 인증 실패, 403은 인가 실패)


404 Not Found

서버가 요청한 페이지(Resource)를 찾을 수 없음

웹에서 반복적으로 발생하기 때문에 가장 유명한 상태 코드 중 하나


405 Method Not Allowed

요청한 메소드를 서버에서 인식했지만, 제거되었고 사용할 수 없음

예를 들어, POST 방식으로 요청을 받는 서버에 GET 요청을 보내는 경우, 또는 읽기 전용 리소스에 PUT 요청을 보내는 경우 이 상태 코드 제공

 

408 Request Timeout

서버의 요청 대기 시간을 초과


429 Too many Requests

사용자가 지정된 시간에 너무 많은 요청을 보냄



5XX - 서버 오류 응답


본서버가 유효한 요청을 명백하게 수행하지 못했음


500 Internal Server Error

서버에 오류가 발생하여 요청 수행 불가


501 Not Implemented

서버에 요청을 수행할 수 있는 기능이 없음

예를 들어 서버가 요청 메소드를 인식하지 못할 때 이 상태 코드 표시


503 Service Unavailable

일시적인 상태로, 서버가 오버로드 되었거나 잠시 다운되어 현재 서버를 사용할 수 없을 때 표시


505 HTTP Version Not Supported

서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않음



목록화 한 상태 코드들 이외에도 다양한 코드들이 있으나 아마 마주하기 어려운 코드들이 아닐까 싶다..

개인적으로 가장 많이 마주치는 상태 코드는 404와 405가 아니었나 싶다..



반응형
반응형