ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 응답 코드
    Note 2020. 11. 16. 22:41

    HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어지는데,

     

    • 1xx: 정보를 제공하는 응답
    • 2xx: 성공적인 응답
    • 3xx: 리다이렉트
    • 4xx: 클라이언트 에러
    • 5xx: 서버 에러

     

    1XX: 정보를 제공하는 응답

    100 continue

    - 임시적인 응답은 지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다.

     

    101 Switching Protocol

    - 클라이언트가 보낸 업그레이드 요청 헤더에 대한 응답에 들어가며 서버에서 프로토콜을 변경할 것임을 알려줍니다.

     

     

    102 Processing

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

     

     

     

    2XX: 성공적인 응답

    200 OK

    - 요청이 성공. 성공의 의미는 HTTP 메소드에 따라 달라집니다.

    • GET: 리소스를 불러와서 메시지 바디에 전송
    • HEAD: 개체 해더가 메시지 바디에 있음
    • PUT 또는 POST: 수행 결과에 대한 리소스가 메시지 바디에 전송
    • TRACE: 메시지 바디는 서버에서 수신한 요청 메시지를 포함하고 있음

     

    201 Created

    - 요청이 성공적이었으며 그 결과로 새로운 리소스가 생성되었다. 이 응답은 일반적으로 POST 요청 또는 일부 PUT 요청 이후에 따라옵니다.

     

    202 Accepted

    - 요청을 수신하였지만 그에 응하여 행동할 수 없습니다. 이 응답은 요청 처리에 대한 결과를 이후에 HTTP로 비동기 응답을 보내는 것에 대해서 명확하게 명시하지 않습니다. 이것은 다른 프로세스에서 처리 또는 서버가 요청을 다루고 있거나 배치 프로세스를 하고 있는 경우를 위해 만들어졌습니다.

     

    204 No Content

    - 요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의미있을 수 있습니다. 사용자-에이전트는 리소스가 캐시된 헤더를 새로운 것으로 업데이트 할 수 있습니다.

     

    205 Reset Content

    - 요청을 완수한 이후에 사용자 에이전트에게 이 요청을 보낸 문서 뷰를 리셋하라고 알려줍니다.

     

     

     

    3XX: 리다이렉트

    300 Multiple Choice

    - 요청에 대해서 하나 이상의 응답이 가능합니다. 사용자 에이전트 또는 사용자는 그중에 하나를 반드시 선택해야 합니다. 응답 중 하나를 선택하는 방법에 대한 표준화 된 방법은 존재하지 않습니다.

     

    301 Moved Permanently

    - 요청한 리소스의 URI가 변경되었음을 의미합니다. 새로운 URI가 응답에서 아마도 주어질 수 있습니다.

     

    302 Found

    - 요청한 리소스의 URI가 일시적으로 변경되었음을 의미합니다. 새롭게 변경된 URI는 나중에 만들어질 수 있습니다. 그러므로, 클라이언트는 향후의 요청도 반드시 동일한 URI로 해야합니다.

     

    304 Not Modified

    - 캐시를 목적으로 사용됩니다. 이것은 클라이언트에게 응답이 수정되지 않았음을 알려주며, 그러므로 클라이언트는 계속해서 응답의 캐시된 버전을 사용할 수 있습니다.

     

    307 Temporary Redirect

    - 클라리언트가 요청한 리소스가 다른 URI에 있으며, 이전 요청과 동일한 메소드를 사용하여 요청해야할 때, 서버가 클라이언트에 이 응답을 직접 보냅니다. 이것은 302 Found HTTP 응답 코드와 동일한 의미를 가지고 있으며, 사용자 에이전트가 반드시 사용된 HTTP 메소드를 변경하지 말아야 하는 점만 다릅니다: 만약 첫 요청에 POST가 사용되었다면, 두번째 요청도 반드시 POST를 사용해야 합니다.

     

     

    4XX: 클라이언트 에러

    400 Bad Request

    - 이 응답은 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미합니다.

     

    401 Unauthorized

    - 비록 HTTP 표준에서는 "미승인(unauthorized)"를 명확히 하고 있지만, 의미상 이 응답은 "비인증(unauthenticated)"을 의미합니다. 클라이언트는 요청한 응답을 받기 위해서는 반드시 스스로를 인증해야 합니다.

     

    403 Forbidden

    - 클라이언트는 콘텐츠에 접근할 권리를 가지고 있지 않습니다. 예를들어 그들은 미승인이어서 서버는 거절을 위한 적절한 응답을 보냅니다. 401과 다른 점은 서버가 클라이언트가 누구인지 알고 있습니다.

     

    404 Not Found

    - 서버는 요청받은 리소스를 찾을 수 없습니다. 브라우저에서는 알려지지 않은 URL을 의미합니다. 이것은 API에서 종점은 적절하지만 리소스 자체는 존재하지 않음을 의미할 수도 있습니다. 서버들은 인증받지 않은 클라이언트로부터 리소스를 숨기기 위하여 이 응답을 403 대신에 전송할 수도 있습니다. 이 응답 코드는 웹에서 반복적으로 발생하기 때문에 가장 유명할지도 모릅니다.

     

    408 Request Timeout

    - 이 응답은 요청을 한지 시간이 오래된 연결에 일부 서버가 전송하며, 어떨 때에는 이전에 클라이언트로부터 어떠한 요청이 없었다고 하더라도 보내지기도 합니다. 이것은 서버가 사용되지 않는 연결을 끊고 싶어한다는 것을 의미합니다.

     

    409 Conflict

    - 요청이 현재 서버의 상태와 충돌될 때 보냅니다.

     

    422 Unprocessable Entity

    - 요청은 잘 만들어졌지만, 문법 오류로 인하여 따를 수 없습니다.

     

    429 Too Many Requests 

    - 사용자가 지정된 시간에 너무 많은 요청을 보냈습니다("rate limiting").

     

    431 Request Header Fields Too Large

    - 요청한 헤더 필드가 너무 크기 때문에 서버는 요청을 처리하지 않을 것입니다. 요청은 크기를 줄인 다음에 다시 전송해야 합니다.

     

    451 Unavailable For Legal Reasons

    - 사용자가 요청한 것은 정부에 의해 검열된 웹 페이지와 같은 불법적인 리소스입니다.

     

     

    5XX: 서버 에러

    500 Internal Server Error

    - 서버가 처리 방법을 모르는 상황이 발생했습니다. 서버는 아직 처리 방법을 알 수 없습니다.

     

    501 Not Implemented

    - 요청 방법은 서버에서 지원되지 않으므로 처리할 수 없습니다. 서버가 지원해야 하는 유일한 방법은 GET HEAD이다. 이 코드는 반환하면 안됩니다.

     

    502 Bad Gateway

    - 이 오류 응답은 서버가 요청을 처리하는 데 필요한 응답을 얻기 위해 게이트웨이로 작업하는 동안 잘못된 응답을 수신했음을 의미합니다.

     

    503 Service Unavailable

    - 서버가 요청을 처리할 준비가 되지 않았습니다. 일반적인 원인은 유지보수를 위해 작동이 중단되거나 과부하가 걸렸을 때 입니다. 이 응답과 함께 문제를 설명하는 사용자 친화적인 페이지가 전송되어야 한다는 점에 유의하십시오.

     

    505 HTTP Version Not Supported

    - 요청에 사용된 HTTP 버전은 서버에서 지원되지 않습니다.

    'Note' 카테고리의 다른 글

    React  (0) 2020.11.19
    BMP, JPG, PNG  (0) 2020.11.17
    node.js, module  (0) 2020.11.16
    HTTP 프로토콜  (0) 2020.11.12
    Asynchronous & Promise  (0) 2020.11.10

    댓글