HTTP 오류 코드의 의미
브라우저는 페이지와 데이터를 받기 위해 서버에 여러 요청을 보냅니다. 서버의 HTTP 응답에는 세 자리 상태 코드가 포함되며, 첫 번째 숫자가 결과의 범주를 나타냅니다.
| 범주 | 의미 |
|---|---|
2xx | 성공 응답. 200은 일반적인 성공 상태 |
4xx | 요청 내용, 인증이나 접근 조건 등 클라이언트 요청과 관련된 오류 |
5xx | 서버가 요청을 처리하거나 상위 서버의 응답을 받는 과정에서 발생한 오류 |
상태 코드는 원인을 조사할 출발점입니다. 요청 URL, 응답 본문과 오류 식별자는 DevTools에서 함께 수집합니다.
클라이언트 오류
400 Bad Request
서버가 요청의 구문, 메시지 구성이나 다른 요청상의 문제 때문에 처리할 수 없거나 처리하지 않는 상태입니다. 애플리케이션이 잘못 구성한 요청이나 서버가 처리할 수 없을 정도로 큰 입력이 원인이 될 수 있습니다. 요청 형식과 보낸 데이터를 확인합니다.
401 Unauthorized
대상 리소스에 필요한 유효한 인증 정보가 없어 요청을 적용하지 못한 상태입니다. 로그인 상태와 인증 정보의 유효성을 확인합니다. 서버는 사용할 인증 방식을 나타내는 WWW-Authenticate 헤더를 보냅니다.
403 Forbidden
서버가 요청을 이해했지만 수행을 거부한 상태입니다. 데이터나 서비스에 대한 접근 제어가 원인일 수 있습니다. 예를 들어 해당 데이터의 ACL이 접근을 허용하지 않거나 Data Lineage 애플리케이션을 사용할 권한이 없을 때 발생할 수 있습니다.
같은 인증 정보로 자동 재요청을 반복하기보다 필요한 리소스 및 애플리케이션 권한을 확인합니다. 거부 이유가 항상 인증 정보에만 있는 것은 아닙니다.
404 Not Found
대상 리소스의 현재 표현을 찾지 못했거나 존재 여부를 공개하지 않는 상태입니다. 파일이 삭제되었거나 URL이 잘못된 경우가 해당합니다. 접근할 수 없는 리소스의 존재를 숨기기 위해 404를 반환할 수도 있으므로 코드만으로 삭제 여부를 확정할 수는 없습니다.
서버 오류
500 Internal Server Error
서버 내부의 예상하지 못한 상태 때문에 요청을 처리하지 못한 경우입니다. 가상의 나눗셈 서비스가 8과 2를 받아 4를 반환하면 성공 응답이지만, 5와 0의 나눗셈을 처리하지 못해 내부 예외가 발생하면 500을 반환할 수 있습니다.
실제 문제는 해당 서비스의 오류 정보와 로그를 확인해야 합니다. 500이라는 사실만으로 입력이 모두 올바르다고 판단할 수는 없습니다.
502 Bad Gateway
게이트웨이나 프록시가 요청을 처리하려고 상위 서버에 접근했지만 유효하지 않은 응답을 받은 상태입니다. 가상의 /workspace/magic-app 요청이 먼저 게이트웨이에 도달하고 실제 애플리케이션 서버로 전달되는 구조에서, 애플리케이션 서버의 잘못된 응답을 받으면 게이트웨이가 이 상태를 반환할 수 있습니다.
503 Service Unavailable
서버가 일시적인 과부하나 유지보수 등으로 현재 요청을 처리할 수 없는 상태입니다. 예를 들어 Contour에 요청이 너무 많이 몰리거나 연산 자원이 부족하거나 메모리 누수 같은 내부 문제로 처리가 어려울 수 있습니다.
응답에 Retry-After가 있으면 재시도까지 기다릴 시간을 확인합니다. 값은 다시 요청할 수 있는 시각이나 응답을 받은 뒤 기다려야 하는 초 단위 시간입니다. 서비스 상태 공지와 관련 운영 정보도 함께 확인합니다.
504 Gateway Timeout
게이트웨이나 프록시가 필요한 상위 서버의 응답을 제시간에 받지 못한 상태입니다. 상위 서버의 중단이나 과부하, 서버 사이 네트워크 문제 등이 원인이 될 수 있습니다. 502는 유효하지 않은 응답을 받았다는 뜻이고, 504는 필요한 시간 안에 응답을 받지 못했다는 뜻입니다.
브라우저에서 보이는 오류라도 사용자 장치나 인터넷 연결의 문제라고 바로 단정하지 말고 상위 서비스의 상태와 관련 로그를 조사합니다.