프로그래밍 언어/HTML,CSS,JS

브라우저마다 허용되는 URL의 최대 길이

Rateye 2021. 7. 30. 10:12
728x90
반응형
질문 : 다른 브라우저에서 URL의 최대 길이는 얼마입니까?

다른 브라우저에서 URL의 최대 길이는 얼마입니까? 브라우저마다 다른가요?

최대 URL 길이가 HTTP 사양의 일부입니까?

답변

짧은 답변 - 사실상의 제한 문자 수 2000자

URL을 2000 자 미만으로 유지하면 거의 모든 클라이언트 및 서버 소프트웨어 조합에서 작동합니다.

특정 브라우저를 대상으로하는 경우 특정 제한에 대한 자세한 내용은 아래를 참조하십시오.

 

긴 답변 - 첫째, 기준...

RFC 2616 (Hypertext Transfer Protocol HTTP / 1.1) 섹션 3.2.1에 따르면

HTTP 프로토콜은 URI 길이에 대한 사전 제한을 두지 않습니다. 서버는 제공하는 모든 리소스의 URI를 처리 할 수 있어야하며 이러한 URI를 생성 할 수있는 GET 기반 양식을 제공하는 경우 무제한 길이의 URI를 처리 할 수 있어야합니다 (SHOULD). URI가 서버가 처리 할 수있는 것보다 길면 서버는 414 (Request-URI Too Long) 상태를 반환해야합니다 (섹션 10.4.15 참조).

해당 RFC는 HTTP / 1.1 사양을 새로 고친 RFC7230에 의해 폐기되었습니다. 유사한 언어가 포함되어 있지만 계속해서 다음을 제안합니다.

요청 행 길이에 대한 다양한 임시 제한이 실제로 발견됩니다. 모든 HTTP 발신자 및 수신자는 최소 8000 옥텟의 요청 행 길이를 지원하는 것이 좋습니다.

...그리고 현실은

그것이 표준이 말하는 것입니다. 실제로 boutell.com (인터넷 아카이브 백업 링크로 이동)에 개별 브라우저 및 서버 구현이 지원할 사항을 논의한 기사가있었습니다. 요약은 다음과 같습니다.

매우 긴 URL은 일반적으로 실수입니다. 2,000자를 넘는 URL은 가장 많이 사용되는 웹 브라우저에서 작동하지 않습니다. 귀하의 사이트가 대부분의 인터넷 사용자를 위해 작동하도록하려는 경우에는 사용하지 마십시오.

(참고 : 이것은 2006 년에 작성된 기사의 인용문이지만 2015 년 IE의 사용 감소는 더 긴 URL 대다수를 위해 작동 함을 의미합니다. 그러나 IE에는 여전히 한계가 있습니다 ...)

반응형

Internet Explorer의 제한 사항...

IE8의 최대 URL 길이는 2083 자 이며 IE9에도 비슷한 제한이있는 것 같습니다.

IE10을 테스트했으며 주소 표시 줄에는 2083 자만 허용됩니다. 이보다 긴 URL을 클릭 할 수 있지만 주소 표시 줄에는이 링크의 2083 자만 표시됩니다.

이에 대한 배경 지식을 다루는 IE 내부 블로그에 멋진 글이 있습니다.

IE11이 더 긴 URL을 지원하는 혼합 보고서가 있습니다. 아래 설명을 참조하십시오. 일부 사람들이 문제를보고하더라도 일반적인 조언은 여전히 유효합니다.

URL 같은 검색 엔진 2048자...

사이트에서 사용 가능한 페이지에 대해 검색 엔진에 알릴 수있는 사이트 맵 프로토콜은 URL에서 2048 자로 제한됩니다. 사이트 맵을 사용하려는 경우 제한이 결정되었습니다! (아래 Calin-Andrei Burloiu의 답변 참조)

2010 년부터 검색 엔진이 크롤링하고 색인을 생성 할 최대 URL 길이 에 대한 연구도 있습니다. 한도는 2047 자이며 사이트 맵 프로토콜 사양과 관련된 것으로 보입니다. 그러나 그들은 또한 Google SERP 도구가 1855자를 초과하는 URL을 처리하지 못한다는 것을 발견했습니다.

CDN에는 제한이 있습니다.

CDN은 또한 URI 길이에 제한을 적용하고 414 Too long request 반환합니다. 예를 들면 다음과 같습니다.

(댓글에 해당 정보를 제공 한 timrs2998에 대한 크레딧)

추가 브라우저 올림

매우 큰 LimitRequestLineLimitRequestFieldSize로 구성된 Apache 2.4 서버에 대해 다음을 테스트했습니다.

Browser     Address bar   document.location
                          or anchor tag
                          ------------------------------------------
                          Chrome          32779           >64k
                          Android          8192           >64k
                          Firefox          >64k           >64k
                          Safari           >64k           >64k
                          IE11             2047           5120
                          Edge 16          2047          10240
                          

아래 Matas Vaitkevicius의 답변 도 참조하십시오.

이 정보는 최신 정보입니까?

이것은 인기있는 질문이며 원래 연구가 ~ 14 년이 되었기 때문에 최신 상태로 유지하려고 노력할 것 입니다. 2020 년 9 월 현재 조언은 여전히 유효합니다. IE11은 더 긴 URL을 허용 할 수 있지만 이전 IE 설치의 편재성과 검색 엔진 제한은 2000 자 미만으로 유지하는 것이 가장 일반적인 정책임을 의미합니다.

출처 : https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
728x90
반응형