지식 Profitserver 서비스를 사용하기 위한 간단한 지침
본관 지식 HTTP 오류 코드: 서버 오류의 전체 목록

HTTP 오류 코드: 서버 오류의 전체 목록


웹 개발의 세계에서 HTTP 오류 코드는 웹사이트의 사용자 경험과 평판에 영향을 미치는 중요한 역할을 합니다. 이 글에서는 서버 오류 코드의 전체 목록을 고려하고, 의미를 분석하고, 문제를 해결하고 웹 앱 성능을 최적화하기 위해 서버 응답 코드를 효과적으로 해석하는 방법을 알아봅니다.

HTTP 응답 코드란 무엇입니까?

HTTP 응답 코드는 브라우저 요청을 이해할 수 있는 지침으로 변환하는 웹 서버의 언어입니다. 마치 시인이 가상의 질문에 답하고 의미와 방향을 제시하는 것과 같습니다. 응답 코드는 항상 HTTP 오류 코드는 아닙니다. 예를 들어, "200 OK"는 모든 것이 정상임을 의미하지만 HTTP 오류 "404 Not Found"는 가상 공간에서 페이지가 손실되었을 때를 의미합니다. 각 코드는 서버 상태의 고유한 표현이며, 이를 디코딩하면 가상 세계의 반대편에서 무슨 일이 일어나고 있는지 이해할 수 있습니다.

1xx 코드(정보)

HTTP 프로토콜의 1xx 상태 코드는 서버와 클라이언트 간의 대화에서 일종의 첫 번째 링크입니다. 요청에 대한 완전한 응답을 제공하는 대신 현재 상태에 대한 정보를 제공하여 데이터 교환을 보다 효율적으로 만듭니다. 자세히 살펴보겠습니다.

100 계속 . 서버가 사용자에게 대용량 요청을 안전하게 계속 보낼 수 있도록 허용하는 HTTP 응답 코드입니다.

101 프로토콜 전환 . 서버는 클라이언트에게 통신 규칙을 변경한다고 알립니다. 예를 들어 HTTP에서 더 안전한 HTTPS로 전환하는 경우입니다. 이 경우 프로토콜 변경을 알리기 위해 "Upgrade" 헤더가 사용됩니다.

102 처리 중 . 이 코드는 서버가 요청을 수락했지만 복잡한 작업을 처리 중이라는 메시지와 같습니다.

103 초기 힌트 . 여기서 서버는 주요 응답 전에 클라이언트에게 몇 가지 표시 헤더를 보내 가까운 시일 내에 관련될 수 있는 사항에 대해 경고합니다.

2xx 코드(성공)

그룹 2xx의 HTTP 오류 코드는 서버로부터 성공적인 요청을 나타냅니다. 이는 본질적으로 웹 통신 범위에서 "녹색 신호" 역할을 하며 모든 것이 계획대로 진행되고 성공적으로 완료되었음을 확인합니다.

200 OK . 이 상태 코드는 서버가 GET 메서드로 전송된 요청을 문제없이 처리하고 요청된 데이터를 응답으로 반환할 때 사용됩니다. "Content-Type" 헤더는 응답의 콘텐츠 유형을 나타냅니다. 이 상태 코드는 클라이언트에게 요청이 성공적으로 처리되었음을 알려줍니다.

201 생성됨 . 서버는 여기서 새로운 리소스가 생성되었음을 알립니다.

202 Accepted . 서버는 사용자에게 요청이 수락되었지만 응답하는 데 시간이 걸릴 것이라고 알려줍니다.

203 비공식 정보 . 이 코드는 고객에게 공식적인 정보는 아니지만 비교 용도로 사용할 수 있는 데이터를 제공합니다.

204 콘텐츠 없음 . 서버가 요청을 처리했지만 추가 콘텐츠를 반환하지 않습니다.

205 콘텐츠 재설정 . 여기서 클라이언트는 전송 후 현재 보기 또는 데이터를 재설정하도록 안내됩니다.

206 부분 콘텐츠 . 이 경우는 응답에 요청된 콘텐츠의 일부만 포함되어 있음을 나타냅니다. "Content-Range" 헤더는 부분 콘텐츠 범위를 나타냅니다.

207 다중 상태. 서버가 클라이언트의 다중 작업 요청을 성공적으로 완료했으며, 응답에는 각 작업의 상태에 대한 정보가 포함되어 있습니다.

226 IM 사용됨 . 이 코드는 서버가 증분 메타데이터(IM) 방식을 사용했으며 수정된 리소스 부분만 클라이언트에 전달하여 응답했음을 나타냅니다.

3xx 코드(리디렉션)

HTTP 프로토콜의 3xx 코드는 사용자를 새로운 리소스 위치로 안내하는 포인터와 같습니다. 이는 클라이언트에게 요청된 콘텐츠를 얻거나 다른 리소스로 리디렉션하려면 후속 단계를 수행해야 함을 알려줍니다. 각각의 세부 사항을 살펴보겠습니다.

300개의 다중 선택 . 클라이언트는 리소스에 대해 여러 가능한 위치가 있다는 신호를 수신하고 이에 대한 응답으로 선택지를 제공받습니다. 현재 상황에서는 "Location" 헤더에 리소스에 대한 대체 옵션이 표시될 수 있습니다.

301 영구 이동됨. 서버는 리소스가 다른 위치로 영구적으로 이동되었음을 사용자에게 알립니다.

302 Found . 이 HTTP 코드는 임시 리디렉션과 유사합니다. 서버는 사용자에게 해당 리소스가 일시적으로 다른 URL에서 사용 가능하다는 것을 알려줍니다. "Location" 헤더는 임시 리디렉션을 위한 새 URL을 가리킵니다.

303 기타 참조 . 클라이언트에게 해당 리소스가 다른 URL에서 사용 가능하며 새 주소로 GET 요청을 보내야 한다고 알려줍니다.

304 Not Modified . 이 상태 코드는 클라이언트에게 리소스가 마지막 요청 이후 변경되지 않았으며 다시 다운로드할 필요가 없음을 알려줍니다. 요청 시 "If-Modified-Since" 헤더를 사용하여 리소스가 수정되었는지 확인합니다.

305 프록시 사용. 서버는 이 응답으로 요청된 리소스에 액세스하기 위해 지정된 프록시를 사용해야 한다고 보고합니다.

306 (예약됨) — 이 코드는 예약되어 있지만 실제로 사용되지 않습니다.

307 임시 리디렉션 . 이 코드는 302 Found와 유사하지만, 클라이언트가 원래 요청에 사용된 요청 메서드를 계속 사용해야 합니다.

308 영구 리디렉션 . 리소스가 새 URI로 영구적으로 이동했으며 클라이언트는 향후 모든 요청에 ​​대해 새 URI를 사용해야 함을 나타냅니다.

4xx HTTP 오류(클라이언트 오류)

HTTP 4xx 오류 코드는 클라이언트 오류를 ​​나타냅니다. 즉, 문제가 웹 브라우저나 앱과 같은 사용자 측에 있다는 의미입니다.

400 잘못된 요청 . 구문 오류, 잘못된 데이터 또는 클라이언트 측의 기타 오류로 인해 서버가 요청을 처리할 수 없습니다.

401 권한 없음. 구문 오류, 잘못된 데이터 또는 클라이언트 측의 기타 오류로 인해 서버에서 요청을 처리할 수 없습니다.

402 결제 필요 . 해당 코드는 현재 활성화되어 있지 않으며 향후 사용을 위해 예약되어 있습니다. 향후 해당 리소스에 액세스하기 전에 결제가 필요할 수 있음을 나타냅니다.

HTTP 오류 403 접근 금지. 클라이언트에게 요청한 리소스에 접근할 수 있는 충분한 권한이 없습니다.

404 찾을 수 없음. 요청한 리소스가 서버에 존재하지 않습니다. 이는 사용자가 가장 흔히 접하는 오류 중 하나입니다.

405 메서드 허용 안 함 . 서버는 해당 리소스에 대해 지정된 요청 메서드를 지원하지 않습니다. "Allow" 헤더는 해당 리소스에 대해 허용되는 메서드를 나타냅니다. 이 코드를 사용하면

406 허용되지 않음. 서버가 클라이언트가 수락할 수 있는 형식의 데이터를 제공할 수 없습니다.

407 프록시 인증 필요 . 요청한 리소스에 접근하려면 프록시 서버에서 인증이 필요합니다.

408 요청 시간 초과 . 서버가 클라이언트의 요청을 수신하기 위해 대기했지만 시간 초과가 발생했습니다. "Retry-After" 헤더는 요청을 다시 시도할 수 있는 시간을 나타낼 수 있습니다.

409 충돌. 현재 리소스 상태와의 충돌로 인해 요청을 완료할 수 없습니다.

410 삭제됨 . 요청된 리소스는 이전에 존재했지만 현재 삭제되었으며 복구될 것으로 예상되지 않습니다.

411 길이 필수 . 서버는 요청에 콘텐츠 길이를 지정하도록 요구합니다. 이 정보가 없으면 오류로 간주됩니다.

412 전제 조건 실패 . 요청의 전제 조건이 충족되지 않아 실행이 불가능합니다.

413 페이로드 크기가 너무 큽니다 . 요청 데이터의 크기가 서버 제한을 ​​초과했습니다.

414 URI 길이가 너무 깁니다 . 요청의 URI 길이가 허용 한도를 초과했습니다.

415 지원되지 않는 미디어 유형입니다 . 서버에서 요청에 제공된 데이터 유형을 처리할 수 없습니다.

416 범위 만족 불가 . 요청된 범위가 현재 서버 데이터와 일치하지 않을 때 발생하는 HTTP 오류입니다.

417 예상 실패 . "Expect" 헤더에 지정된 예상 조건이 충족되지 않았습니다.

418 저는 찻주전자입니다 . 이 코드는 농담으로 포함된 것이며 사용자나 서버에 실제적인 조치를 의미하는 것이 아니며, 정식 오류도 아닙니다. 서버가 찻주전자라서 커피를 만들 수 없다는 것을 나타냅니다.

421 잘못된 요청 . 요청 또는 서버 구성 오류로 인해 서버가 요청을 처리하지 못했습니다.

422 처리할 수 없는 엔티티 . 서버는 요청을 이해했지만 데이터 오류로 인해 처리하지 못했습니다.

423 잠금됨. 리소스가 차단되어 처리할 수 없습니다.

424 종속성 실패 . 이 요청은 실행되지 않은 다른 요청에 종속되어 있습니다.

425 너무 일찍 도착했습니다. 서버가 요청을 처리할 준비가 되지 않았습니다.

426 업그레이드 필요 . 서버에서 요청을 처리하기 위해 더 고급 프로토콜을 사용해야 합니다.

428 사전 조건 필요 . 서버는 요청에 특정 사전 조건이 지정되어 있어야 합니다.

429 요청 과다 . 클라이언트가 짧은 시간 내에 너무 많은 요청을 보내 서버의 제한을 초과했습니다.

431 요청 헤더 필드 크기가 너무 큽니다 . 요청 헤더가 허용된 최대 크기를 초과했습니다.

449 재시도 오류는 현재 서버에서 요청을 처리할 수 없지만 다른 서버에서는 성공적으로 처리할 수 있음을 나타냅니다. 클라이언트는 새 URI를 사용하여 요청을 다시 시도해야 합니다.

451 법적 사유로 이용할 수 없습니다 . 해당 리소스는 법적인 이유로 이용할 수 없습니다.

499 클라이언트가 요청을 종료했습니다 . 서버는 요청을 수신했지만, 클라이언트가 처리 완료 전에 연결을 종료했습니다.

HTTP 5xx 오류(서버 오류)

HTTP 5xx 오류 코드는 서버 문제를 나타냅니다. 이 코드는 서버 측에서 발생한 문제를 나타내며, 서버가 사용자의 요청을 올바르게 처리할 수 없게 만듭니다. 자세히 살펴보겠습니다.

HTTP 오류 500 내부 서버 오류 . 서버가 요청을 완료할 수 없게 만드는 예기치 않은 상황에 직면했습니다. "Server" 헤더는 오류가 발생한 서버를 나타낼 수 있습니다.

501 구현되지 않음 . 서버가 클라이언트의 요청을 처리하는 데 필요한 기능을 지원하지 않습니다. "Via" 헤더는 오류가 발생한 프록시 서버를 나타낼 수 있습니다.

502 Bad Gateway 오류는 프록시 역할을 하는 서버가 다른 서버로부터 잘못된 응답을 받았음을 의미합니다.

HTTP 오류 503 서비스 이용 불가 . 서버가 일시적으로 요청을 처리할 수 없습니다.

504 게이트웨이 시간 초과 . 프록시 역할을 하는 서버가 다른 서버로부터 적시에 응답을 받지 못했습니다.

505 HTTP 버전 지원 안 됨 . 서버에서 요청에 지정된 HTTP 프로토콜 버전을 지원하지 않습니다. 백업 옵션으로 "Upgrade" 헤더를 통해 지원되는 프로토콜을 지정할 수 있습니다.

506 Variant Also Negotiates . 이 상태 코드는 HTTP/1.1에서 사용되지 않지만, 서버가 콘텐츠 협상 모호성을 초래하는 내부 구성을 감지하면 이 응답을 사용할 수 있습니다.

507 저장 공간 부족 . 서버의 저장 공간이 부족하여 요청을 처리할 수 없습니다.

508 루프 감지됨 . 서버가 요청 처리 중 루프를 감지하여 무한 루프를 방지하기 위해 요청 처리를 중단합니다.

509 대역폭 제한 초과 오류는 요청 또는 트래픽 양이 많아 서버의 대역폭이 초과되었을 때 발생합니다.

510 연장되지 않음 . 고객은 요청을 계속하려면 추가 연장을 요청해야 합니다.

511 네트워크 인증 필요 . 클라이언트는 네트워크에 접속하기 위해 인증을 받아야 합니다.

페이지 상태 코드를 확인하는 방법

이 섹션에서는 페이지 상태 코드를 확인하는 세 가지 주요 방법을 고려해 보겠습니다. 명령줄을 통해, 웹 브라우저를 사용하여, 독립적인 온라인 서비스를 사용하여. 이러한 각 방법에는 고유한 장점이 있으며 다양한 상황에서 유용할 수 있습니다.

명령줄을 통한 서버 응답 확인

명령줄은 웹 브라우저를 사용하지 않고도 페이지 상태 코드를 확인하는 편리한 방법을 제공합니다. 이 방법의 경우 명령줄을 열고 다음 명령을 사용해야 합니다.

curl -I http://page-address

이 명령은 지정된 URL에 HEAD 요청(헤더만 요청)을 보내고 HTTP 상태 코드를 포함한 정보를 표시합니다.

Curl 서버의 HTTP 응답 코드 확인

위의 예는 성공적인 응답 코드를 보여줍니다. 404 Not Found HTTP 오류와 같은 오류 코드가 포함된 응답의 경우 결과는 다음과 유사합니다.

HTTP 오류 404 찾을 수 없음 오류 코드

브라우저 콘솔을 통해 서버 응답 확인

웹 브라우저 개발자 콘솔은 페이지 상태 코드 확인을 포함한 다양한 작업을 수행하기 위한 도구를 제공합니다. 서버 응답에서 HTTP 코드를 보려면 사용하는 브라우저에 따라 개발자 콘솔(Ctrl+Shift+K) 또는 (Ctrl+shift+J)을 열어야 합니다. 다음으로, "네트워크" 섹션을 선택하고 원하는 페이지를 로드합니다.

브라우저 서버의 HTTP 응답 코드 진단

독립적인 도구를 사용하여 서버 응답 확인

웹페이지 상태 코드를 확인할 수 있는 도구를 제공하는 독립적인 온라인 서비스들이 많이 있습니다. 이러한 서비스들은 일반적으로 웹사이트의 가용성과 성능에 대한 개요를 빠르게 파악할 수 있도록 해줍니다. 모든 서비스는 동일한 원리로 작동합니다. 예를 들어, 가장 인기 있는 서비스 중 하나인 httpstatus.io를 살펴보겠습니다.

우선, 서비스 자체를 열고, 답을 알고 싶은 페이지의 주소를 입력한 후 확인을 요청해야 합니다.

독립 서비스에 대한 HTTP 서버 응답 코드

결과는 페이지 하단에 표시됩니다.

성공적인 HTTP 서버 응답 코드

맺음말

결론적으로, HTTP 오류 코드를 이해하고 읽을 수 있는 능력은 웹 개발 및 서버 유지 관리에 관여하는 모든 사람에게 핵심 기술이라는 점을 강조해야 합니다. 각 오류를 파악하고 이를 감지하는 도구를 탐색하면서 이러한 웹 서비스 측면을 효과적으로 관리하는 것이 왜 그렇게 중요한지 그 이유를 알게 됩니다.

❮ 이전 기사 메일 서버를 확인하는 방법
다음 기사 ❯ Windows 서버에 추가 IP 주소를 추가하는 방법

VPS에 대해 문의하세요

저희는 언제든지 여러분의 질문에 답변할 준비가 되어 있습니다.