코드SOD: 나는 200이 아니다 노트

코드SOD: 나는 200이 아니다

HTTP 상태 코드는 사용 편의성을 위해 이론적으로 범주화됩니다. 100번대는 정보 제공, 200번대는 성공, 300번대는 리디렉션, 400번대는 클라이언트 오류, 500번대는 서버 오류를 나타냅니다. 그러나 실제 구현에서는 이러한 표준에서 벗어나는 경우가 많습니다. 예를 들어, LinkedIn은 승인되지 않은 액세스를 위해 비표준 999 코드를 사용합니다. Shopify는 자체 사용자 정의 코드를 도입했으며, Apache는 218 코드도 가지고 있습니다. WebDAV는 새로운 상태 코드와 HTTP 요청 동사를 추가하여 상황을 더욱 복잡하게 만듭니다.생성된 코드의 한 조각은 상태 코드를 100으로 나눈 값이 2와 같지 않은지 확인하여 HTTP 상태 코드를 처리하려고 시도합니다. 이 접근 방식은 200번대 범위를 벗어나는 모든 상태 코드를 오류로 취급합니다. 작성자는 특히 100으로 나누는 이 방법을 비판하며, 300번대와 같은 오류가 아닌 응답을 실패로 잘못 표시한다고 주장합니다. 예를 들어, 캐시된 콘텐츠가 여전히 유효함을 나타내는 304(수정되지 않음) 코드는 오류로 잘못 식별될 것입니다. 이 영리하지만 결함이 있는 논리는 불필요한 실패 요청으로 이어져 견고한 오류 처리보다 수학적 속임수를 선호함을 보여줍니다.