HTTP 431 오류의 원인과 증상, 해결 방법

HTTP 431 오류의 원인과 증상, 해결 방법

HTTP 431 오류의 원인과 증상, 해결 방법

HTTP 오류 431은 요청 헤더 필드가 너무 큼(Request header fields too large)이라는 상태 코드를 반환합니다.

사용자가 웹사이트에서 콘텐츠를 보려고 할 때 오류가 발생하는 경우입니다. 상태 코드를 읽어보면 시스템이 "요청 헤더 필드가 너무 큼"이라고 판단했다는 것을 알 수 있습니다. 

HTTP 오류는 디바이스와 웹 사이트 서버 간의 통신에 대한 정보를 제공하기 위한 것입니다. 하지만 코드는 일반 사람들이 아닌 개발자를 위해 작성된 것입니다. 그리고 아무리 전문가라 하더라도 이렇게 모호한 코드는 알아보기 어려울 수 있습니다. 

찾고자 하는 것이 무엇인지 알아내기만 하면 HTTP 오류 431을 비교적 쉽게 해결할 수 있습니다. 그렇다면, HTTP 오류에 대한 간략한 설명을 시작으로, 이 오류를 해결하고 수정하는 방법에 대해 단계별로 살펴보겠습니다.

HTTP 언어 이해 

1991년에 등장한 HTTP는 "HyperText Transfer Protocol"의 약자로, 디바이스와 서버 간의 요청 및 응답 언어라고 할 수 있습니다. 

사용자가 웹사이트를 방문할 때마다 예측 가능한 일련의 활동들이 수행됩니다.

  • 브라우저 요청: 페이지를 방문하려면 웹 서버에서 나온 데이터나 정보가 필요합니다. 
  • 데이터 이동: 요청에는 사용자, 사용자의 브라우저 등에 대한 정보가 있습니다. 
  • 서버 응답: 액세스 권한이 부여되거나, 혹은 액세스 거부에 대한 이유를 설명하는 코드가 표시됩니다. 

요청을 "헤더"라고 부르기도 합니다. HTTP 프로토콜에는 이러한 데이터 조각의 길이나 크기가 지정되어 있지 않습니다. 그러나 보안상의 이유로 크기를 제한하는 서버들도 있습니다. 

바로 여기에서 HTTP 오류 431이 발생합니다.

HTTP 오류 431 해결

HTTP 오류에는 몇 가지 유형이 있으며, 숫자로 그룹화되어 있습니다. 400 레벨의 모든 코드는 사용자 오류와 관련이 있습니다. 이는 기술적으로 웹사이트나 서버에서 발생하는 문제가 아닙니다. 오히려 웹사이트의 서버가 처리하지 못하는 몇 가지 유형의 사용자 요청과 관련이 있습니다. 

공식적으로 "요청 헤더 필드가 너무 큼"이라고 표시되는 오류 431은 서버가 요청을 거부했음을 의미합니다. 사용자가 전송한 헤더가 너무 길거나 너무 커서 서버에서 거부한 경우입니다. 

웹 개발자는 사용자에게 모든 유형의 데이터를 요청할 수 있습니다. 다음 사항에 대한 정보를 요청할 수 있습니다.

  • 선호하는 언어
  • 자격 증명 
  • 호스트 
  • 추천 사이트 

너무 많은 정보가 요청되거나, 혹은 반환되는 데이터가 다소 크거나 긴 경우에 이러한 오류 코드가 나타납니다. 문제가 해결될 때까지 페이지가 로드되지 않습니다.

4가지 단계를 통해 오류 431을 수정 

모든 HTTP 오류 431 메시지는 각기 다르기 때문에 다른 비즈니스에는 적용되지 않는다는 이유로 웹사이트에 이러한 오류 메시지가 나타날 수 있습니다. 그러나 대부분의 경우 문제가 발생하는 요인은 둘 중 하나입니다.

방문자가 쿠키로 인해 코드를 볼 수 있게 되거나, 참조 URL이 너무 길기 때문입니다. 

다음과 같은 방법으로 문제를 해결해보십시오.

  • 추천 URL 제거. URL이 매우 긴 사이트에 활성 링크가 있다는 것을 알고 있는 경우에는 액세스를 허용하기 전에 이 쿼리를 먼저 제거하십시오.
  • 코드 체험. 코드상의 공백은 문자 제한에 적용되는 것으로, 항상 필요한 것은 아닙니다. 사용하지 않거나 필요하지 않은 데이터를 요청할 수 있으며, 이로 인해 어쩔 수 없이 제한된 글자 수를 초과하게 수 있습니다.
  • 쿠키 설정 제거. 권한 인증 코드에 오류가 있는 경우 사용자에 대해 여러 개의 쿠키를 설정할 수 있지만, 이로 인해 원치 않는 HTTP 오류가 발생할 수 있습니다.
  • 더 많은 쿠키 허용. 쿠키가 문제의 핵심이라면 보다 세심하게 접근해야 합니다. 쿠키에는 보안 취약점이 있으므로 주의해서 처리해야 합니다. 그러나 오류 코드를 어떻게든 제거하는 것이 목표라면 더 많은 쿠키를 허용하는 것이 도움이 될 수 있습니다. 

변경을 수행하기 앞서 서버 호스트에 알려야 하는 경우가 있습니다. 더 많은 데이터를 허용하도록 코드를 조정했지만 서버가 동의하지 않으면 서버 액세스와 관련된 유사 HTTP 코드가 사용자에게 표시될 수 있습니다. 코드를 조정하기 전에 항상 서버와 공개적으로 하는 것이 좋습니다.

Okta의 도움 받기 

HTTP 오류로 불편을 겪고 있다면 Okta가 도와드릴 수 있습니다. 함께 문제를 살펴보고 보안을 저해하지 않으면서 사용자에게 액세스 권한을 부여하는 방법을 찾아낼 것입니다. 자세한 내용은 Okta에 문의하십시오.

참고 자료

HTTP의 개략적 역사. 고성능 브라우저 네트워킹. O'Reilly. 

추가 HTTP 상태 코드. (2012년 4월). Internet Engineering Task Force. 

쿠키와 관련된 위험. (2013년 11월). Infosec.

5 쿠키의 잠재적 위험을 피하기 위한 팁. (2020년 11월). C Online Mag.