브라우저별로 URL의 최대 길이는 몇 개입니까?
- 각 브라우저의 URL 최대 길이는 몇 개입니까?
- 최대 URL 길이는 HTTP 사양의 일부입니까?
단답 - 사실상의 제한은 2000자
URL을 2000자 미만으로 유지하면 클라이언트와 서버 소프트웨어의 거의 모든 조합에서 사용할 수 있습니다.
특정 브라우저를 대상으로 하는 경우 특정 제한에 대한 자세한 내용은 아래를 참조하십시오.
더 긴 답변 - 첫째, 기준...
RFC 2616(Hypertext Transfer Protocol HTTP/1.1) 섹션 3.2.1은 다음과 같습니다.
HTTP 프로토콜은 URI 길이에 priori 제한을 두지 않습니다.서버는 자신이 서비스하는 리소스의 URI를 처리할 수 있어야 하며, 이러한 URI를 생성할 수 있는 GET 기반 형식을 제공하는 경우 무제한 길이의 URI를 처리할 수 있어야 합니다.URI가 서버에서 처리할 수 있는 길이보다 길면 서버는 414(Request-URI Too Long) 상태를 반환해야 합니다(섹션 10.4.15 참조).
이 RFC는 HTTP/1.1 사양을 새로 고친 RFC7230에 의해 폐지되었습니다.이 문서에는 유사한 언어가 포함되어 있지만 다음과 같은 내용도 제시되어 있습니다.
실제로 요청 회선 길이에 대한 다양한 애드혹 제한이 있습니다.모든 HTTP 송신자 및 수신자는 최소 8000 옥텟의 요청 행 길이를 지원하는 것이 좋습니다.
...그리고 현실은
기준에는 그렇게 나와 있습니다.실제로 boutell.com(link to Internet Archive backup)에는 개별 브라우저 및 서버 구현이 지원하는 내용에 대한 기사가 게재되어 있습니다.이그제큐티브 요약은 다음과 같습니다.
URL이 매우 길면 보통 실수입니다.가장 일반적인 웹 브라우저에서는 2,000자를 초과하는 URL은 작동하지 않습니다.대부분의 인터넷 사용자를 위해 사이트를 운영하려는 경우에는 사용하지 마십시오.
(주: 이것은 2006년에 작성된 기사에서 인용한 것이지만, 2015년에 IE의 사용률이 감소함에 따라 대부분의 경우 긴 URL이 유효합니다.다만, IE에는 아직 제한이 있습니다...)
Internet Explorer의 제한 사항...
IE8 의 URL 의 최대 길이는 2083 문자이며, IE9 에서도 같은 제한이 있는 것 같습니다.
IE10을 테스트했습니다만, 주소 표시줄에는 2083 문자만 사용할 수 있습니다.이 길이보다 긴 URL을 클릭할 수 있지만 주소 표시줄에는 이 링크의 2083자만 표시됩니다.
IE Internals 블로그에는, 이것에 관한 배경 정보가 게재되어 있습니다.
IE11이 긴 URL을 지원하는 보고서가 혼재하고 있습니다.아래의 코멘트를 참조해 주세요.몇몇 사람들이 문제를 보고하는 것을 고려할 때, 일반적인 조언은 여전히 유효하다.
URL 2048자 미만의 검색 엔진...
사이트에서 사용 가능한 페이지를 검색 엔진에 알릴 수 있는 sitemaps 프로토콜은 URL에 2048자로 제한됩니다.사이트 맵을 사용하려는 경우 제한이 정해졌습니다(아래 Calin-Andrei Burloiu 답변 참조).
또한 2010년부터 검색 엔진이 탐색하고 인덱싱하는 최대 URL 길이에 대한 연구가 진행되었습니다.그들은 제한 한도가 2047자로 sitemap 프로토콜 사양과 관련이 있는 것으로 보인다는 것을 발견했다.그러나 그들은 또한 구글 SERP 툴이 1855자를 초과하는 URL을 처리할 수 없다는 것을 발견했다.
CDN에는 제한이 있습니다.
CDN은 길이에 CDN URI URI를 합니다.414 Too long request
예를 들어 다음과 같은 제한에 도달했을 경우:
- 고속 8Kb
- CloudFront 8Kb
- CloudFlare 16Kb
(댓글에 해당 정보를 제공한 것에 대해 timrs2998에게 크레딧)
추가 브라우저 반올림
매우 큰 LimitRequestLine 및 LimitRequestFieldSize로 구성된 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년 이상 전의 것이기 때문에, 최신의 연구를 실시하도록 노력하겠습니다.2021년 1월 현재, 그 조언은 여전히 유효하다.IE11은 더 긴 URL을 허용할 수 있지만 오래된 IE 설치의 보편성과 검색 엔진의 제한은 2000자 미만으로 유지하는 것을 의미합니다.
가장 긴 URL은 데이터 URL입니다.
Google 이미지 결과의 이미지 URL 예시(11747자)
data:image/jpeg;base64,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
은 계속 추가해서 요.'a'
합니다.
C# 부품:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ParamTest(string x)
{
ViewBag.TestLength = 0;
if (!string.IsNullOrEmpty(x))
{
System.IO.File.WriteAllLines("c:/result.txt",
new[] {Request.UserAgent, x.Length.ToString()});
ViewBag.TestLength = x.Length + 1;
}
return View();
}
표시:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var text = "a";
for (var i = 0; i < parseInt(@ViewBag.TestLength)-1; i++) {
text += "a";
}
document.location.href = "http://localhost:50766/Home/ParamTest?x=" + text;
});
</script>
파트 1
Chrome의 특징:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
2046
그 후 다음과 같이 폭발했다.
HTTP 오류 404.15 - 찾을 수 없음 요청 필터링 모듈이 쿼리 문자열이 너무 긴 요청을 거부하도록 설정되었습니다.
Internet Explorer 8 및 Firefox에서도 동일
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2046
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
2046
파트 2
쉬운 모드로 전환하여 IISExpress에 제한을 추가했습니다. applicationhost.config
★★★★★★★★★★★★★★★★★」web.config
maxQueryStringLength="32768"
.
Chrome failed with message 'Bad Request - Request Too Long
HTTP Error 400. The size of the request headers is too long.
7744자 이후입니다.
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
7744
파트 3
<headerLimits>
<add header="Content-type" sizeLimit="32768" />
</headerLimits>
전혀 도움이 되지 않았어요마침내 fiddler를 사용하여 헤더에서 referrer를 삭제하기로 결정했습니다.
static function OnBeforeRequest(oSession: Session) {
if (oSession.url.Contains("localhost:50766")) {
oSession.RequestHeaders.Remove("Referer");
}
그건 잘한 일이야.
Chrome: 최대 15613자입니다(IIS의 경우 16K 제한인 것 같습니다.
그리고 또 실패:
<BODY><h2>Bad Request - Request Too Long</h2>
<hr><p>HTTP Error 400. The size of the request headers is too long.</p>
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
15613
파이어폭스:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
15708
Internet Explorer 8이 iexplore에서 실패했습니다.exe가 크래시하고 있다.
2505년 이후
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
2505
안드로이드 에뮬레이터
Mozilla/5.0 (Linux; Android 5.1; Android SDK built for x86 Build/LKY45) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36
7377
Internet Explorer 11
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043
Internet Explorer 10
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
4043
Internet Explorer 9
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
4043
WWW FAQ: URL의 최대 길이는 몇 개입니까?실증 테스트와 조사에 근거한 독자적인 답변이 있습니다.즉, 2048자를 초과하면 Internet Explorer가 불행해지므로 이것이 사용해야 하는 제한입니다.자세한 내용은 페이지를 참조하십시오.
Apple 플랫폼(iOS/macOS/tvOS/watchOS)에서는 Swift 소스 코드의 다음 코멘트에서 알 수 있듯이 2GB 길이의 URL 스킴이 제한될 수 있습니다.
// Make sure the URL string isn't too long. // We're limiting it to 2GB for backwards compatibility with 32-bit executables using NS/CFURL if ( (urlStringLength > 0) && (urlStringLength <= INT_MAX) ) { ...
iOS에서는 300MB 이상의 URL도 사용할 수 있는 것을 테스트하고 확인했습니다.Objective-C에서는 다음과 같은 긴 URL을 시도할 수 있습니다.
NSString *path = [@"a:" stringByPaddingToLength:314572800 withString:@"a" startingAtIndex:0];
NSString *js = [NSString stringWithFormat:@"window.location.href = \"%@\";", path];
[self.webView stringByEvaluatingJavaScriptFromString:js];
그리고 성공 시 다음 사항을 파악합니다.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSLog(@"length: %@", @(request.URL.absoluteString.length));
return YES;
}
유니버설 최대 URL 길이는 실제로 없습니다.최대 길이는 클라이언트브라우저가 지원하는 항목에 의해서만 결정됩니다.이것은 매우 다양합니다.2,083 제한은 Internet Explorer에서만 사용할 수 있습니다(7.0까지의 모든 버전).Firefox 및 Safari의 최대 길이는 무제한이지만 URL이 약 65,000자에 달할 경우 불안정합니다.Opera는 최대 URL 길이가 전혀 없는 것 같고, 매우 긴 길이에서도 불안정하지 않습니다.
URI RFC(URL이 서브셋인 경우)에서는 최대 길이를 정의하지 않지만 URI의 호스트 이름 부분(해당하는 경우)은 255자를 넘지 않도록 권장합니다.
URI 생산자는 DNS 구문에 준거한 이름을 사용해야 합니다.DNS 의 사용이 즉시 명확하지 않은 경우에도, 이러한 이름의 길이는 255 문자 이내로 할 필요가 있습니다.
그러나 다른 게시물에서 언급했듯이 일부 브라우저는 URL 길이에 실질적인 제한이 있습니다.
HTTP 1.1 사양에는 다음과 같이 기재되어 있습니다.
HTTP 내의 URI는 절대 형식 또는 일부에 대해 상대적인 형식으로 나타낼 수 있습니다.
URI [11]를 선택합니다. 다
은 절대 됩니다.
스킴명 뒤에 콜론을 붙입니다.에 내용은 를 하십시오.
URL "Uniform Resource Identifier(URI)", RFC 2396[42](RFC 1738 [4]) RFC 1808 [11])의 "Uniform Resource Identifier(URI)"입니다.에서는 " " " " "absoluteURI", "reference", "relativeURI "port",
host " ""abs_path", "rel_path"에서 "rel_path"로
★★★★★★ 。HTTP 프로토콜은 URI 길이에
priori 제한을 두지 않습니다. 서버는 자신이 서비스하는 자원의 URI를 처리할 수 있어야 합니다.또, 이러한 URI를 생성할 수 있는 GET 베이스의 폼을 제공하는 경우는, 무제한 길이의 URI를 처리할 수 있어야 합니다.* URI가 서버가 처리할 수 있는 것보다 길면, 서버는 414(Request-URI Too Long) 상태를 반환할 필요가 있습니다(섹션 10.4.15 참조).주의: 서버에서는 255바이트를 초과하는 URI 길이에 대해 주의해야 합니다.이는 일부 오래된 클라이언트 또는 프록시 구현에서는 URI 길이가 적절하게 지원되지 않을 수 있기 때문입니다.
@Brian에서 설명한 바와 같이 HTTP 클라이언트(브라우저 등)에는 자체 제한이 있을 수 있으며 HTTP 서버에는 다른 제한이 있습니다.
Microsoft 지원에서는 "Internet Explorer의 최대 URL 길이는 2,083자입니다"라고 말합니다.
IE가 그보다 긴 URL에 문제가 있습니다.Firefox는 4000 문자보다 큰 글자로 정상적으로 동작하고 있는 것 같습니다.
웹에 대한 소셜 인터페이스는 사용자가 서로 웹 페이지를 추천하고 싶을 때 이메일에 의존하며, 이메일은 사용자가 새로운 사이트에 접속하는 두 번째 방법(가장 일반적인 검색 엔진)입니다.사이트의 모든 URL 길이가 78자 미만이어야 합니다.따라서 줄바꿈이 되지 않도록 해야 합니다.
최대값은 아니지만 URL을 공유하려면 이 값을 실제 최대값으로 간주합니다.
웹마스터가 검색 엔진에 웹마스터 도구에서 Google에 의해 사용되는 페이지에 대해 알려주는 방법인 Sitemaps 프로토콜은 2048자 미만의 URL을 지원합니다.따라서 검색 엔진 최적화에 이 기능을 사용할 계획이라면 이 점을 고려하십시오.
ASP.NET 2 및 SQL Server 보고서 서비스 2005에는 2028의 제한이 있습니다.동적 URL 생성기가 이 시점 이후의 리포트에 일부 매개 변수를 전달하지 않는다는 사실을 어렵게 알게 되었습니다.이것은 Internet Explorer 8에서 실행되었습니다.
Internet Explorer의 제한은 2K인데 IIS의 제한은 16K인 이유는 무엇입니까?말이 안 되는 것 같아요.
그래서 저는 Ajax 요청 URL 크기 제한에 대한 실험을 시작하고 싶습니다.
Tomcat HTTP 커넥터의 maxHttpHeaderSize="1048576"을 설정했습니다.그리고 매우 긴 URL을 준비했다.
그리고 다음과 같은 긴 URL로 요청을 보냅니다.
var url="/ajax/url-length.jsp";
jQuery.ajax(url,{data:{q:"0".repeat(1048000-url.length-4)}});
jQuery 보고서가 완료되었습니다.Tomcat에서 요청된 URL이 1048015바이트라고 보고되었습니다.그것은 Chrome 50과 Internet Explorer 11로 테스트되었다.
따라서 웹 브라우저는 Ajax 요청을 보낼 때 의도적으로 URL을 잘라내거나 제한하지 않습니다.
요청 줄 제한 지시문은 URL의 최대 길이를 설정합니다. 기본적으로는 8190으로 설정되므로 많은 공간을 확보할 수 있습니다.그러나 다른 서버 및 일부 브라우저는 길이를 더 제한합니다.
모든 파라미터가 URL 행에 전달되기 때문에 숨김 필드의 패스워드에 있던 아이템도 URL에 표시됩니다.어느 모바일도 실제 보안 대책에 사용해서는 안 되며, 기껏해야 외관상의 보안으로 간주되어야 한다.
적어도 크롬은 이 한계를 높인 것으로 보인다.북마클릿에 2만 글자를 붙여 넣었는데 가져갔어요.
SharePoint 2007, 2010을 사용해 본 경험이 있으며, 이 SharePoint에서는 서버 측에서 작성할 수 있는 URL 길이에 제한이 있기 때문에 주로 1) 클라이언트(브라우저, 버전, OS)와 2) 서버 테크놀로지, IIS, Apache 등에 의존합니다.
HTTP 사양에 따르면 URL 길이에 제한이 없습니다.URL은 2048자 미만으로 해 주세요.이것에 의해, 모든 클라이언트 및 서버 설정으로 URL 가 동작합니다.또한 URL과 같은 검색 엔진은 약 2000자 미만으로 유지됩니다.
언급URL : https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
'it-source' 카테고리의 다른 글
WPF GUI 애플리케이션을 닫는 올바른 방법:Get Current Process().Kill() , Environment.exit(0) 또는 this.셧다운() (0) | 2023.04.16 |
---|---|
탭을 클릭하면 셸 초기화 문제가 발생합니다.getcwd의 문제점은 무엇입니까? (0) | 2023.04.16 |
Bash에서 문자열의 마지막 x자 액세스 (0) | 2023.04.16 |
XLRD 패키지를 사용한 Excel 시트 셀 색상 코드 식별 (0) | 2023.04.16 |
CSS를 사용하여 텍스트를 세로 방향으로 중앙에 배치하려면 어떻게 해야 합니까? (0) | 2023.04.16 |