Web

특정 브라우저에서만 400 Bad Request가 나왔다. 원인이 뭘까?

bas96 2023. 8. 7. 11:36

🍊 문제 발견

오늘 블로그 글을 작성하려는데 아래와 같은 에러가 나왔다.

 

Bad Request

Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.

 

🍊 뜯어보기

 

뭐가 문제일까?

request header의 필드 크기가 서버 리밋을 초과했다 하여 개발자도구를 열어보았다.

 

 

Cookie 부분에 저 아래로 엄청난 양의 _ga가 있네?

 

이때 제가 생각한 것은 쿠키의 양이 많아서구나 라고 예상했는데, 그 이유는

쿠키는 작은 용량을 가지고 서버에 request를 보내는데 스크롤리 3번은 넘게 내려갔으니까!

 

 

 

참고로 _ga는 구글 애널리틱스에서 사용하는 쿠키인데 대부분의 쿠키는 실제로 통계 또는 마케팅/추적 목적으로 사용된다. GA 쿠키의 목적은 통계를 내는 데에 있습니다.

 

 

safari브라우저에서도 똑같은 url에 똑같은 동작을 해도 200 response를 받았다.

 

 

 

사실상 이 페이지에 접근하려면 T_ANO ~ 로 시작하는 쿠키만 있으면 되는 것 같다.

 

 

 

 

🍊 그러나 예상 밖이었던 원인

두둥~ 근데 사실 이 문제에 대한 원인은 사실 _ga가 많아서가 아니었다.

 

크롬에서 쿠키와 캐시 기록도 지웠는데도 다시 들어왔을때 (이전 보다는 쿠키가 줄어든게 맞는거같지만) 여전히 크롬브라우저의 ga는 많이 생겨났다. 

 

Size of a request header field exceeds server limit. 이라는 문장에 속은 것,

 

그래서 좀 더 알아본 결과 firefox 브라우저 사용자의 질문에 대한 모질라의 답변을 발견했는데 이 사용자도 나와 같은 문제를 겪었나보다. 

그리고 모질라 직원이 알려주는 이유를 보고 꼭 쿠키의 양이 많아서 & 크롬 브라우저라서 이 이슈가 나오는 것이 아니다! 라는 것을 알게되었다.

 

 

 

일단 Bad Request 에러는 다른 브라우저에서도 당연히 나타날 수있는 문제이다.

파이어폭스 브라우저 유저가 올린 문제지만 솔루션 답변으로 손상 된 쿠키로 인해 발생할 수 있다는 사실을 알게되었다.

 

즉 정말 쿠키 용량이 커서 그럴 수도 있지만, 처음 생각했던 쿠키용량의 문제가 아닌 손상된 쿠키가 내 크롬브라우저에 있을 수도 있기 때문에 이 문제가 나타났던 것으로 보인다.

실제로는 전/후의 쿠키를 비교해봤을 때 지워진 ga 쿠키도 있긴 했지만, 많은 수가 지워진 것은 아니었고 그대로 남아있는 쿠키가 상당했다. 

 

 

🍊 마무리

사실 이 문제 해결하는 방법은 해당 브라우저에서 캐시랑 쿠키를 주기적으로 지워주는 방법으로 해결할 수 있다.

하지만 원인을 더 정확히 파악할 수 있었고, 함부로 에러를 추측하지 말자라고 생각했다.

 

 

 

혹시 잘못 된 정보나 다른 의견이 있으시다면 댓글 남겨주세요! 감사합니다. 😊


 

 

 

https://cookiedatabase.org/cookie/google-analytics/_ga/

 

Cookie: _ga - Cookiedatabase.org

Read about the cookie: _ga on Cookiedatabase.org and know more about the purpose, functionality and related service. Join our privacy-minded community!

cookiedatabase.org

https://support.mozilla.org/kn/questions/1290604

 

Bad Request Your browser sent a request that this server could not understand. Size of a request header field exceeds server li

Bad Request Your browser sent a request that this server could not understand. Size of a request header field exceeds server limit. wtf! how does one report this to init a fix? This is not a community fix. Stuck! No where to go. Sh1t CS! Bad Request Your b

support.mozilla.org