본문 바로가기

코딩도 합니다/JS

[자바스크립트 js] Status Code 상태 코드



  Status Code 상태 코드

request 를 받은 서버가 작업 결과를 나타내기 위해서 response header 에 넣는 숫자.

 

 

 

  100번대

서버가 클라이언트에게 정보성 응답(Informaitional response)을 줄 때 사용되는 상태 코드.

  • 100 Continue
    클라이언트가 서버에게 계속 리퀘스틀르 보내도 괜찮은지 물어봤을 때,
    계속 리퀘스트를 보내도 된다고 알려주는 상태 코드. (용량이 큰 파일을 리퀘스트 바디에 담아 업로드 하려고 할 때)
  • 101 Swithing Protocols
    프로토콜 변경 리퀘스트 보냈을 때, 서버가 변경하겠다고 알리는 상태 코드.

 

 

  200번대

클라이언트의 리퀘스트가 성공 처리 되었음을 알리는 상태 코드.

  • 200 OK
    리퀘스트가 성공적으로 처리 되었음을 알리는 상태 코드.
  • 201 Created
    리퀘스트의 내용 대로 리소스가 생성되었음을 알리는 상태 코드.
    POST 리퀘스트가 성공한 경우에 200번 대신 201번이 올 수도 있다.
  • 202 Accepted
    리퀘스트의 내용이 접수 되었고, 지금 당장 리퀘스트의 내용이 처리된 것은 아니지만 언젠가 처리할 것을 알리는 상태 코드.
    리퀘스트를 어느 정도 모아서 한번에 실행하는 서버인 경우 이런 응답을 받을 수 있다.

 

 

  300번대

클라이언트의 리퀘스트가 아직 처리 되지 않았고, 처리를 원하면 클라이언트 측의 추가 작업이 필요함을 나타내는 상태 코드.

  • 301 Moved Permanetly
    리소스의 위치가 바뀌었음을 나타내는 상태 코드.
    보통 이런 상태 코드가 있는 리스폰스의 헤드에는 Location이라는 헤더도 포함되어 있다.
    그리고 그 헤더의 값으로 리소스에 접근할 수 있는 새로운 URL이 담겨 있다.
    GET 리퀘스트를 보냈는데 이런 상태 코드가 담긴 리스폰스를 받게 되면, 헤드에 포함된 Location 헤더의 값을 읽고, 자동으로 그 새로운 URL에 다시 리퀘스트를 보내는 동작(redirection)을 수행한다.
  • 302 Found
    리소스의 위치가 일시적으로 바뀌었음을 나타내는 상태 코드.
    지금 당장은 아니지만 나중에는 현재 요청한 URL이 정상적으로 인식될 것이라는 뜻을 가지고 있다.
    이 상태 코드의 경우에도 그 리스폰스의 헤드에 Location 헤더가 있고, 여기에 헤당 리소스의 임시 URL이 담겨 있다.
    이런 경우에도 대부분의 브라우저들은 임시 URL로 리다이렉션한다.
  • 304 Not Modified
    브라우저들은 보통 한번 리스폰스 받았던 이미지 같은 리소스들을 그대로 내부에 저장하고 있다.
    그리고 서버는 해당 리소스가 바뀌지 않았다면, 리스폰스에 그 리소스를 보내지 않고 304번 상태 코드만 헤드에 담아서 보냄으로써 '네트워크 비용'을 절약하고 브라우저가 저장된 리소스를 재활용 하도록 한다. (캐시)

 

 

 

  400번대

리퀘스트를 보내는 클라이언트 쪽에 문제가 있음을 의미하는 상태 코드.

  • 400 Bad Request
    말그대로 리퀘스트에 문제가 있음을 나타낸다.
    리퀘스트 내부 내용의 문법에 오류가 존재하는 등의 이유로 인해 발생한다.
  • 401 Unauthorized
    아직 신원이 확인되지 않은 사용자로부터 온 리퀘스트를 처리할 수 없다는 뜻이다.
  • 403 Forbidden
    사용자의 신원은 확인 되었지만, 해당 리소스에 대한 접근 권한이 없는 사용자라서 리퀘스트를 처리할 수 없다는 뜻이다.
  • 404 Not Found
    해당 URL이 나타내는 리소스를 찾을 수 없음을 의미하는 상태 코드.
    보통 이런 상태 코드가 담긴 리스폰스는 그 바디에 관련 웹 페이지를 이루는 코드를 포함하고 있는 경우가 많다.
  • 405 Method Not Allowed
    해당 리소스에 대해서 요구한 처리는 허용되지 않음을 의미하는 상태 코드.
    (어떤 서버의 이미지 파일을 조회는 할 수 있지만 아무나 삭제할 수 없을 때.)
  • 413 Payload Too Large
    현재 리퀘스트의 바디에 들어있는 데이터의 용량이 지나치게 커서 서버가 거부한다는 의미를 가진 상태코드.
  • 429 Too Many Requests
    일정 시간 동안 클라이언트가 지나치게 많은 리퀘스트를 보냈음을 의미하는 상태 코드.

 

 

 

  500번대

서버 쪽의 문제로 인해 리퀘스트를 정상적으로 처리 할 수 없음을 의미한느 상태 코드.

  • 500 Internal Server Error
    현재 알 수 없는 서버 내의 에러로 인해 리퀘스트를 처리할 수 없음을 의미하는 상태 코드.
  • 503 Service Unavailable
    현재 서버 점검 중이거나, 트래픽 폭주 등으로 인해 서버를 제공할 수 없음을 의미하는 상태 코드.

 

728x90