-
GET Method는 URL을 256자 이하로 제한하지 않는다Web 2021. 9. 18. 17:35
HTTP Method를 정의하고, GET과 POST의 차이를 비교할 때 주로 등장하는 말인 'GET Method의 최대 길이(URI+Query String)는 최대 256자이다'라는 말은 사실이 아니다
하지만 많은 자료에서는 위와 같이 표기되어있고, 나도 자연스럽게 "GET Method 최대 길이는 256자"라고 생각하고 있던 것 같다
이전에 정말 길이 제한이 256자일까?라는 궁금증이 생겨서 찾아본 결과
웹 플랫폼에서는 공식적으로 URI길이에 제한을 두지 않고, Chrome 브라우저는 2MB의 길이로 제한(주소창 표시는 32kB)을 둔다고 한다.
URI 길이 제한은 브라우저의 정책에 따라 다르다.
위의 세 사진만 봐도 Chrome, Internet Explorer, Firefox의 URL 제한이 다른 것을 알 수 있다.
그러면 256자의 URL 길이 괴담은 어디서 나왔을까?
HTTP 프로토콜의 공식 문서에서 또한 HTTP 프로토콜 자체에서 URI의 길이에 제한을 두지 않는다고는 했지만, 일부 이전 구현 환경에 대해 동작하지 않을 수 있으므로 255byte를 초과할 때는 유의해야 한다고 명시했다.
서버에서는 URI 길이가 서버에서 처리할 수 있는 길이를 초과할 경우 HTTP Status 414 에러를 반환할 수 있다.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.15
참고 문서
- https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1
- https://support.mozilla.org/en-US/questions/1259005
- https://support.microsoft.com/ko-kr/topic/%EC%B5%9C%EB%8C%80-url-%EA%B8%B8%EC%9D%B4%EB%8A%94-2-083%EC%9E%90%EC%9E%85%EB%8B%88%EB%8B%A4internet-explorer-174e7c8a-6666-f4e0-6fd6-908b53c12246
- https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/security/url_display_guidelines/url_display_guidelines.md#URL-Length
- https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
- https://stackoverflow.com/questions/2659952/maximum-length-of-http-get-request
- https://www.google.com/search?q=firefox+url+length+limit&sxsrf=AOaemvLK6gSJvRsahjDOOTRsojEvRen8iQ%3A1631953209492&ei=OaFFYcW6HY2Tr7wP4v6PkAI&oq=fir+url+length+limit&gs_lcp=Cgdnd3Mtd2l6EAMYADIGCAAQBxAeOgUIABCABDoICAAQCBAHEB5KBAhBGABQ0IAKWO2LCmDtlQpoAnAAeACAAdMBiAHCB5IBBTAuNi4xmAEAoAEBwAEB&sclient=gws-wiz (256bytes보다 긴 304bytes의 URL을 이용해 검색 결과를 얻음)'Web' 카테고리의 다른 글
실시간 시스템 구현을 위한 WebSocket의 이해 (424) 2021.10.22 동적 웹 페이지를 구현하기 위한 JSP와 Servlet (420) 2021.10.10 자주 사용하는 HTTP Status Code (1) 2021.07.27 개발자들을 괴롭히는 SOP(동일 출처 정책)와 CORS(교차 출처 리소스 공유) (0) 2021.07.21 WebRTC - 웹 브라우저 간 실시간 미디어 통신 기술 (0) 2021.07.10