가끔 스프링부트(springboot) 웹프로젝트를 통해 간단히 서버를 만들고
자바로 구현한 HTTP URL 클라이언트로 업무와 관련된
여러 가지 단편적인 기능 테스트를 진행하면서 공부도 하고 있습니다.
한 번만에 기대했던 결과값을 받으면 좋겠지만
제가 아직 스킬이 부족해서 그런지 꼭 에러가 발생해서
수신받은 HTTP 응답코드에 대한 의미를 구글링해서 이리저리 찾고 있더라고요. ^^;;
가끔씩 하다보니깐 기억이 가물해서 알고 있는 게 맞는지도 헷갈리게 되더라고요.
그래서 이번에 HTTP 응답코드를 정리하면서 다시 확인해 보려고요. ^^
HTTP 응답 상태 코드는 숫자 3자리입니다.
첫번째 자리 숫자를 기준으로 크게 5가지 영역이 상태를 나타내고 있습니다.
범위 | 영역 | 의미 |
1XX | 정보 전달 | 임시 통신 연결 상태 또는 요청 진행에 대한 응답 요청 된 작업을 완료하고 최종 결과를 보내기 전에 응답 |
2XX | 성공 | 클라이언트의 요청이 성공적으로 수신, 이해 및 수락됨. |
3XX | 리다이렉션 | 처리 완료를 위해 클라이언트에서 추가 조치를 취해야합니다. |
4XX | 클라이언트 오류 | 클라이언트 요청에 오류가 있는 것 같습니다. |
5XX | 서버 오류 | 서버에 오류가 있어 처리할수가 없습니다. |
■ 1XX
♥ 정보 전달
임시 통신 연결 상태 또는
요청 진행에 대한 응답 요청된 작업을 완료하고
최종 결과를 보내기 전에 응답
응답코드 | 메시지 | 의미 |
100 | Continue | 클라이언트는 요청을 계속해야합니다. 이 중간 응답은 지금까지 모든 것이 정상이며 클라이언트가 요청을 계속하거나 요청이 이미 완료된 경우 응답을 무시해야 함을 나타냅니다. |
101 | Switching Protocols | 서버는 이 연결에서 사용되는 응용 프로그램 프로토콜의 변경에 대한 업그레이드 메시지 헤더 필드를 통해 클라이언트의 요청을 이해하고 이를 기꺼이 준수합니다. 서버는 101 응답을 종료하는 빈 줄 바로 다음에 응답의 Upgrade 헤더 필드에 정의 된 프로토콜로 프로토콜을 전환합니다. |
102 | Processing | 서버가 요청을 수신하고 처리 중이지만 아직 응답을 사용할 수 없음을 나타냅니다. |
103 | Early Hints | Link해더와 함께 사용되며 주로 서버가 응답을 준비하는 동안 사용자가 사전로딩(PreLoading)을 할수 있도록 하는 응답코드. |
■ 2XX
♥ 성공
클라이언트의 요청이 성공적으로 수신, 이해 및 수락됨.
응답코드 | 메시지 | 의미 |
200 | OK | 요청이 성공했습니다. |
201 | Created | 요청이 성공되어 새 리소스가 생성되었습니다. |
202 | Accepted |
처리를 위해 요청이 승인되었지만 처리가 완료되지 않았습니다. |
203 | Non-Authoritative Information | 엔터티 헤더에 반환 된 메타 정보는 원본 서버에서 사용할 수있는 최종 집합이 아니지만 로컬 또는 타사 복사본에서 수집됩니다. 제시된 세트는 원래 버전의 하위 세트 또는 상위 세트 일 수 있습니다. |
204 | No Content |
서버가 요청을 수행했지만 엔티티 본문을 반환할 필요가 없으며 |
205 | Reset Content | 사용자 에이전트에게이 요청을 보낸 문서를 재설정하도록 지시합니다. |
206 | Partial Content | Range리소스의 일부만 요청하기 위해 클라이언트에서 헤더를 보낼 때 사용됩니다 . |
207 | Multi-Status | 여러 상태 코드가 적절할 수있는 상황에 대해 여러 리소스에 대한 정보를 전달합니다. |
208 | Already Reported | 동일한 컬렉션에 대한 여러 바인딩의 내부 멤버를 반복적으로 열거하지 않도록 응답 요소 내에서 사용됩니다 . |
226 | IM Used | 서버가 GET리소스에 대한 요청을 이행 했으며 응답은 현재 인스턴스에 적용된 하나 이상의 인스턴스 조작 결과를 나타냅니다. |
■ 3XX
♥ 리다이렉션
처리 완료를 위해 클라이언트에서 추가 조치를 취해야 합니다.
응답코드 | 메시지 | 의미 |
300 | Multiple Choices | 요청에 둘 이상의 가능한 응답이 있습니다. 사용자 에이전트 또는 사용자는 그중 하나를 선택해야합니다. |
301 | Moved Permanently | 요청 된 리소스에 새로운 영구 URI가 할당되었으며 이 리소스에 대한 향후 참조는 반환 된 URI 중 하나를 사용해야합니다 |
302 | Found | 요청 된 리소스의 URI가 일시적 으로 변경되었음을 의미합니다 |
303 | See Other | 서버는이 응답을 전송하여 클라이언트가 GET 요청으로 다른 URI에서 요청 된 리소스를 가져 오도록 지시했습니다. |
304 | Not Modified | 캐싱 목적으로 사용됩니다. 클라이언트에게 응답이 수정되지 않았 음을 알려주므로 클라이언트는 동일한 캐시 된 응답 버전을 계속 사용할 수 있습니다. |
305 | Use Proxy | 요청 된 리소스는 Location 필드에서 제공하는 프록시를 통해 액세스해야합니다. 위치 필드는 프록시의 URI를 제공합니다. 수신자는 프록시를 통해이 단일 요청을 반복해야합니다. 305 응답은 원 서버에서만 생성되어야합니다. |
306 | unused | 이전 버전의 사양에서 사용되었으며 이 코드는 더 이상 사용되지 않으며 단지 예약만 되어 있습니다. |
307 | Temporary Redirect | 요청 된 리소스는 일시적으로 다른 URI에 있습니다. 리디렉션이 가끔 변경 될 수 있으므로 클라이언트는 향후 요청에 대해 Request-URI를 계속 사용해야합니다. 이 응답은 Cache-Control 또는 Expires 헤더 필드로 표시된 경우에만 캐시 할 수 있습니다. |
308 | Permanent Redirect | 301과 같은 의미입니다. 새로운 영구 URI가 할당됨을 나타낼때 사용됩니다. |
■ 4XX
♥ 클라이언트 오류
클라이언트 요청에 오류가 있는 것 같습니다.
응답코드 | 메시지 | 의미 |
400 | Bad Request | 잘못된 구문으로 인해 서버에서 요청을 이해할 수 없습니다. 클라이언트는 수정없이 요청을 반복해서는 안됩니다. |
401 | Unauthorized | 요청에는 사용자 인증이 필요합니다. |
402 | Payment Required | 향후 사용을 위해 예약된 코드입니다. |
403 | Forbidden | 클라이언트는 콘텐츠에 대한 액세스 권한이 없습니다. 즉, 권한이 없으므로 서버가 요청 된 리소스 제공을 거부합니다. |
404 | Not Found | 서버가 요청 된 리소스를 찾을 수 없습니다. 브라우저에서 이는 URL이 인식되지 않음을 의미합니다. |
405 | Method Not Allowed | 요청 방법은 서버에서 알고 있지만 비활성화되어 사용할 수 없습니다. 즉 허용되지 않는 메소드로 요청을 한 경우입니다. |
406 | Not Acceptable | 웹 서버가 서버 기반 콘텐츠 협상(방화벽)을 수행 한 후 사용자 에이전트가 제공 한 기준에 맞는 콘텐츠를 찾지 못할 때 전송됩니다 . |
407 | Proxy Authentication Required | 클라이언트가 먼저 프록시로 자신을 인증해야 함을 나타냅니다. |
408 | Request Timeout | 클라이언트는 서버가 대기 할 준비가 된 시간 내에 요청을 생성하지 않았습니다. |
409 | Conflict | 리소스의 현재 상태와 충돌하여 요청을 완료 할 수 없습니다. |
410 | Gone | 요청 된 리소스는 더 이상 서버에서 사용할 수 없으며 전달 주소를 알 수 없습니다. |
411 | Length Required | 서버는 정의 된 Content- Length 값 없이 요청해서 수락을 거부합니다. |
412 | Precondition Failed | 클라이언트는 서버 해더에 맞지 않는 정보로 전제 조건을 표시했습니다. |
413 | Payload Too Large | 요청 엔터티가 서버에서 정의한 제한보다 큽니다. |
414 | URI Too Long | 클라이언트가 요청한 URI가 서버가 해석하려는 것보다 깁니다. |
415 | Unsupported Media Type | 요청 된 데이터의 미디어 형식이 서버에서 지원되지 않으므로 서버가 요청을 거부합니다. |
416 | Requested Range Not Satisfiable | Range요청 의 헤더 필드에 지정된 범위를 충족 할 수 없습니다. 범위가 대상 URI의 데이터 크기를 벗어날 수 있습니다. |
417 | Expectation Failed | Expect요청 헤더 필드에 표시된 예상을 서버에서 충족 할 수 없음을 의미합니다. |
418 | I'm a teapot | 서버는 커피 포트 제어 프로토콜(HTCPCP)를 추출하려는 시도를 거부합니다. |
421 | Misdirected Request | 요청이 응답을 생성 할 수없는 서버로 보내졌습니다. |
422 | Unprocessable Entity | 요청이 잘 구성되었지만 의미 오류로 인해 따를 수 없습니다. |
423 | Locked | 액세스중인 리소스가 잠겨 있습니다. |
424 | Failed Dependency | 이전 요청이 실패하여 요청이 실패했습니다. |
425 | Too Early | 서버가 재생 될 수있는 요청을 처리 할 위험이 없음을 나타냅니다. |
426 | Upgrade Required | 서버는 현재 프로토콜을 사용하여 요청을 수행하는 것을 거부하지만 클라이언트가 다른 프로토콜로 업그레이드 한 후에 수행 할 수 있습니다. |
428 | Precondition Required | 서버는 조건부 요청을 요구합니다. |
429 | Too Many Requests | 사용자가 주어진 시간 동안 너무 많은 요청을 보냈습니다. |
431 | Request Header Fields Too Large | 서버는 헤더 필드가 너무 커서 요청을 처리하지 않습니다. |
451 | Unavailable For Legal Reasons | 사용자 에이전트는 정부가 검열 한 웹 페이지와 같이 합법적으로 제공 할 수없는 리소스를 요청했습니다. |
■ 5XX
♥ 서버 오류
서버에 오류가 있어 처리할 수가 없습니다.
응답코드 | 메시지 | 의미 |
500 | Internal Server Error | 서버에 예상치 못한 상황이 발생하여 요청을 수행하지 못했습니다. |
501 | Not Implemented | 요청에 대해 서버에서 지원하지 않아 처리 할 수 없습니다. |
502 | Bad Gateway | 서버가 요청을 처리하는 데 필요한 응답을 얻기 위해 게이트웨이 역할을 하며 엑세스 서버로부터 잘못된 응답을 받았음을 의미합니다. |
503 | Service Temporarily Unavailable | 서버가 요청을 처리 할 준비가되지 않았습니다. 일반적인 원인은 유지 보수를 위해 다운되었거나 과부하 된 서버입니다. |
504 | Gateway Timeout | 서버가 게이트웨이로 작동하고 엑세스 서버로 부터 시간 내에 응답을받을 수 없을 때 제공됩니다. |
505 | HTTP Version Not Supported | 요청에 사용 된 HTTP 버전이 서버에서 지원되지 않습니다. |
506 | Variant Also Negotiates | 서버에 내부 구성 오류가 있습니다. |
507 | Insufficient Storage | 서버가 요청을 성공적으로 완료하는 데 필요한 표현을 저장할 수 없기 때문에 리소스에서 메서드를 수행 할 수 없습니다. |
508 | Loop Detected | 서버가 요청을 처리하는 동안 무한 루프를 감지했습니다. |
509 | Apache bw/limited extension | 대역폭 제한 초과 - 비표준 |
510 | Not Extended | 서버가 요청을 수행하려면 요청에 대한 추가 확장이 필요합니다. |
511 | Network Authentication Required | 클라이언트가 네트워크 액세스를 얻기 위해 인증해야 함을 나타냅니다. |
520 | Unknown Error | 알수 없는 에러 - 비표준 |
522 | Connection timed out | 연결 시간 초과 - 비표준 |
525 | SSL Handshake Failed | SSL 인증 오류 - 비표준 |
526 | Invalid SSL certificates | 서버 SSL 인증서 오류 - 비표준 |
감사합니다.
'IT > IT 지식' 카테고리의 다른 글
네이버TV 유튜브 동영상 음악 다운로드 . 4Kdownload (0) | 2021.06.04 |
---|---|
크롬 유튜브 광고 제거하기 . 광고 없이 유튜브 보세요 (0) | 2021.04.05 |
무료이미지 무료동영상 사이트 . 저작권 없이 상업적 이용가능 (4) | 2021.02.01 |
해상도란 무엇인가? SD HD FHD QHD UHD 4K 5K 8K 10K . 화소 Pixel (4) | 2021.01.04 |
전압과 주파수 관계 . 나라별 전압 주파수 (11) | 2020.12.18 |
댓글