a

Câu hỏi Độ dài tối đa của một URL trong các trình duyệt khác nhau là bao nhiêu?


Độ dài tối đa của một URL trong các trình duyệt khác nhau là bao nhiêu? Nó có khác nhau giữa các trình duyệt không?

Giao thức HTTP có đưa ra điều đó không?


4118
2018-01-06 16:14


gốc


FWIW, dành cho người dùng Windows, đường dẫn máy chủ vượt quá 250 ký tự có thể gây đau buồn khi tạo URL, ví dụ: xem HttpContext.Current.Server.MapPath không thành công cho các tên tệp dài tại forums.asp.net. dòng dưới cùng: nếu một hạn chế không nhận được bạn, một hạn chế khác có thể. - gerryLowry
Từ support.microsoft.com/kb/208427 "Độ dài URL tối đa là 2.083 ký tự trong Internet Explorer " - gavenkoa
Tôi xin hỏi tại sao bạn có cần biết điều đó không? I E. trường hợp sử dụng để có URL dài là gì? - o0'.
@ Lohoris: Nếu một biểu mẫu sử dụng get thay vì post, sau đó đánh dấu trang được truy cập bằng biểu mẫu được điền sẽ thu thập thông tin đã được nhập. Trong một số trường hợp, điều đó có thể xấu, nhưng trong các trường hợp khác, nó có thể hữu ích. Tuy nhiên, để làm việc đó, trình duyệt phải có khả năng xử lý một URL chứa tất cả thông tin. - supercat
@ Lohoris Khi chúng tôi viết các trang để tạo báo cáo, chúng tôi đã sử dụng biểu mẫu tiêu chí. Nó rất hữu ích trên một số báo cáo để có thể gửi email cho một người nào đó với các tiêu chí được xây dựng in. Tùy thuộc vào báo cáo chúng tôi đang ở những thời điểm buộc phải sử dụng post hoặc tiêu chí bị cắt bớt. Chỉ một trường hợp sử dụng khác. - buzzsawddog


Các câu trả lời:


Câu trả lời ngắn - giới hạn trên 2000 ký tự

Nếu bạn giữ các URL dưới 2000 ký tự, chúng sẽ hoạt động gần như bất kỳ sự kết hợp nào của phần mềm máy khách và máy chủ.

Nếu bạn đang nhắm mục tiêu các trình duyệt cụ thể, hãy xem bên dưới để biết thêm chi tiết các giới hạn cụ thể.

Câu trả lời dài hơn - đầu tiên, các tiêu chuẩn ...

RFC 2616 (Giao thức truyền siêu văn bản HTTP / 1.1) phần 3.2.1 nói

Giao thức HTTP không đặt   bất kỳ giới hạn ưu tiên nào về độ dài của   một URI. Máy chủ PHẢI có thể xử lý   URI của bất kỳ tài nguyên nào mà họ phân phối,   và NÊN có thể xử lý URI của   độ dài không giới hạn nếu chúng cung cấp   Biểu mẫu dựa trên GET có thể tạo   các URI như vậy. Máy chủ NÊN trả lại   Trạng thái 414 (Yêu cầu-URI quá dài) nếu   URI dài hơn máy chủ có thể   xử lý (xem phần 10.4.15).

RFC đã bị lỗi thời bởi RFC7230 đó là làm mới đặc tả HTTP / 1.1. Nó chứa ngôn ngữ tương tự, nhưng cũng tiếp tục đề xuất điều này:

Các giới hạn quảng cáo đặc biệt khác nhau về độ dài dòng yêu cầu được tìm thấy trong   thực hành. NHẬN ĐƯỢC rằng tất cả người gửi và người nhận HTTP   hỗ trợ, ở mức tối thiểu, chiều dài dòng yêu cầu của 8000 octet.

... và thực tế

Đó là những gì tiêu chuẩn Nói. Cho thực tế, xem nghiên cứu này tại boutell.com để xem những triển khai cá nhân của trình duyệt và máy chủ nào sẽ hỗ trợ. Nó đáng đọc, nhưng tóm tắt điều hành là:

Các URL cực kỳ dài thường là   sai lầm. URL trên 2.000 ký tự   sẽ không hoạt động trên web phổ biến nhất   trình duyệt. Không sử dụng chúng nếu bạn định   trang web của bạn hoạt động cho phần lớn   Những người sử dụng mạng.

(Lưu ý: đây là một trích dẫn từ một bài báo viết bằng 2006, nhưng vào năm 2015, mức sử dụng giảm của IE có nghĩa là các URL dài hơn làm làm việc cho đa số. Tuy nhiên, IE vẫn có giới hạn ...)

Giới hạn của Internet Explorer ...

Chiều dài URL tối đa của IE8 là 2083 ký tựvà có vẻ như IE9 có giới hạn tương tự.

Tôi đã thử nghiệm IE10 và thanh địa chỉ sẽ chỉ chấp nhận 2083 ký tự. Bạn có thể nhấp chuột một URL dài hơn số này nhưng thanh địa chỉ sẽ vẫn hiển thị 2083 ký tự của liên kết này.

Có một viết đẹp trên blog của IE Internals mà đi vào một số nền tảng cho điều này.

Có các báo cáo hỗn hợp IE11 hỗ trợ các URL dài hơn - xem các bình luận bên dưới. Với một số người báo cáo vấn đề, lời khuyên chung vẫn đứng vững.

Các công cụ tìm kiếm như URL <2048 ký tự ...

Hãy lưu ý rằng giao thức sơ đồ trang web, cho phép trang web thông báo cho các công cụ tìm kiếm về các trang có sẵn, có giới hạn 2048 ký tự trong một URL. Nếu bạn dự định sử dụng sơ đồ trang web, giới hạn đã được quyết định cho bạn! (xem Câu trả lời của Calin-Andrei Burloiu phía dưới)

Ngoài ra còn có một số nghiên cứu từ năm 2010 vào độ dài URL tối đa mà công cụ tìm kiếm sẽ thu thập thông tin và lập chỉ mục. Họ tìm thấy giới hạn là 2047 ký tự, xuất hiện liên minh với spec giao thức sơ đồ trang web. Tuy nhiên, họ cũng tìm thấy Google SERP công cụ sẽ không đối phó với các URL dài hơn 1855 ký tự.

Bổ sung trình duyệt roundup

Tôi đã thử nghiệm những điều sau đây chống lại một máy chủ Apache 2.4 được cấu hình với một rất lớn LimitRequestLine và LimitRequestFieldSize.

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   

Xem thêm câu trả lời này từ Matas Vaitkevicius bên dưới.

Thông tin này có được cập nhật không?

Đây là một câu hỏi phổ biến, và như nghiên cứu ban đầu là ~ 9 tuổi tôi sẽ cố gắng giữ cho nó cập nhật: Tháng 9 năm 2017, lời khuyên vẫn đứng vững. Mặc dù IE11 có thể chấp nhận các URL dài hơn, nhưng tính phổ biến của các cài đặt IE cũ hơn cộng với các hạn chế của công cụ tìm kiếm có nghĩa là ở dưới 2000 ký tự là chính sách chung tốt nhất.


4180
2018-01-06 16:22



Lưu ý rằng IE11 sẽ không đánh dấu URL dài hơn 260 ký tự. Tôi không chắc liệu Edge có cùng giới hạn hay không. - Brian
Hôm nay IE11 cắt giảm URL của tôi thành 2048 ký tự. - AntiCZ
những gì về Edge, Firefox và Chrome? IE hiện nay đã tuyệt chủng ở đây ... - bernstein
trong Chrome vào năm 2016, tôi đã có thể mở một url với 260300 ký tự ascii bằng cách sử dụng lệnh mở osx từ một tập lệnh đơn giản và có thể xác nhận rằng tất cả các ký tự được chuyển đến máy chủ. Url trong trình duyệt bị cắt ngắn thành 32791 ký tự, kết thúc bằng ... (% E2% 80% A6% E2% 80% A6) - Rob Dawson
@Paul Dixon Thật sự rất hay khi thấy những người sẵn sàng vượt qua các câu hỏi trên trang web này. Rõ ràng mọi người đang bày tỏ lòng biết ơn của họ với số lượng upvote hiện tại là 3734, nhưng tôi muốn nói lời cảm ơn! :) - drognisep


Câu hỏi thường gặp về WWW: Độ dài tối đa của URL là bao nhiêu? có câu trả lời riêng dựa trên thử nghiệm và nghiên cứu thực nghiệm. Câu trả lời ngắn gọn là có hơn 2048 ký tự khiến Internet Explorer không hài lòng và do đó đây là giới hạn bạn nên sử dụng. Xem trang để biết câu trả lời dài.


142
2018-01-06 16:18





Các URL dài nhất tôi gặp phải là URL dữ liệu

URL hình ảnh ví dụ từ kết quả hình ảnh của Google (11747 ký tự)

data:image/jpeg;base64,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

140
2017-07-18 23:12



Anh ấy đang nói về thực tế là một jpeg được mã hóa base64 về mặt kỹ thuật là một URL, vì nó được chỉ định dưới dạng dữ liệu: *. Trong khi anh ta nói đúng rằng nó là một URL hợp lệ, tôi không nghĩ đó là câu hỏi đang hỏi. - Fitblip
Đối với những người tò mò jsfiddle.net/SJjJb/828 - jonperl
... hoặc chỉ dán nó vào thanh địa chỉ của bạn. - Gras Double
Đó là một URI không phải là một URL. - mike jones
Vì URL dữ liệu chứa giao thức "dữ liệu:" và số nhận dạng, đó là mọi thứ bạn cần để LOCATE rằng "tệp" (ngay cả khi "Hệ thống tệp" là không gian của tất cả các tệp có thể). Do đó, nó là một URL, cũng là một URI. (Nhưng chắc chắn không phải "không phải là URL") - MickLH


Tôi đã viết bài kiểm tra này tiếp tục bổ sung 'a' tham số cho đến khi trình duyệt thất bại

Phần 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();
}

Lượt xem:

<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>

PHẦN 1

Trên Chrome tôi nhận được:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
2046

Sau đó nó nổ tung với:

Lỗi HTTP 404.15 - Không tìm thấy Mô-đun lọc yêu cầu là   được định cấu hình để từ chối yêu cầu trong đó chuỗi truy vấn quá dài.

Tương tự trên Internet Explorer 8 và 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

PHẦN 2

Tôi đã đi chế độ dễ dàng và thêm các giới hạn bổ sung cho IISExpress  applicationhost.config và web.config cài đặt maxQueryStringLength="32768".

Chrome failed with message 'Bad Request - Request Too Long

HTTP Error 400. The size of the request headers is too long.

sau 7744 ký tự.

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
7744

PHẦN 3

Thêm

<headerLimits>
    <add header="Content-type" sizeLimit="32768" />
</headerLimits>

mà không giúp gì cả. Cuối cùng, tôi đã quyết định sử dụng trình gỡ lỗi để xóa liên kết giới thiệu khỏi tiêu đề.

static function OnBeforeRequest(oSession: Session) {
    if (oSession.url.Contains("localhost:50766")) {
        oSession.RequestHeaders.Remove("Referer");
    }

Điều đó thật tuyệt vời.

Chrome: có tới 15613 ký tự. (Tôi đoán đó là giới hạn 16K đối với IIS)

Và nó lại thất bại với:

<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

Firefox:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
15708

Internet Explorer 8 thất bại với sự cố iexplore.exe.

Enter image description here

Sau 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

Trình giả lập Android

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

111
2017-07-06 16:14



Vì vậy, trong thực tế, giả định của tôi về 512 ký tự phần lớn là sai ^ _ ^ Cảm ơn bạn đã thử nghiệm. Tôi sẽ không bao giờ quan tâm đến độ dài tham số truy vấn nữa .. - Sugato
Đây phải là câu trả lời được chấp nhận ... cái đầu tiên không thực sự cung cấp các giới hạn cứng cho mỗi trình duyệt, đó là những gì các câu hỏi yêu cầu. - GrayedFox
Có thể đáng xem xét đến Safari. Safari là trình duyệt duy nhất không hỗ trợ tải xuống do khách hàng tạo. Cách giải quyết là: a) mở một URI BLOB (một URI ngắn, tạm thời trỏ tới một Blob trong bộ nhớ) trong một cửa sổ mới, b) mở URI dữ liệu được mã hóa cơ sở 64 trong một cửa sổ mới (có thể rất dài, nhưng hỗ trợ gõ mime). Chi tiết tại đây: github.com/eligrey/FileSaver.js/issues/12 - Mat Gessel
@Vaitkevicius do u biết nếu một không gian (% 20) được tính là một ký tự hoặc 3? - Jun
@Jun phụ thuộc vào nơi ... nhấn F12 và dán sau vào bảng điều khiển console.log("%20".length +" "+decodeURI("%20").length) điều này sẽ giải thích nó - Matas Vaitkevicius


Không có độ dài URL tối đa phổ quát. Độ dài tối đa chỉ được xác định bởi những gì trình duyệt của khách hàng chọn để hỗ trợ, thay đổi rất nhiều. Giới hạn 2.083 chỉ xuất hiện trong Internet Explorer (tất cả các phiên bản lên đến 7.0). Độ dài tối đa trong Firefox và Safari dường như không giới hạn, mặc dù sự bất ổn xảy ra với các URL đạt khoảng 65.000 ký tự. Opera dường như không có độ dài URL tối đa nào, và không bị bất ổn ở độ dài cực kỳ dài.


93
2017-08-05 10:17



Nếu sự bất ổn định là khoảng 65k, nó có lẽ ở ngay gần 65535 (2 ^ 16 - 1). Có lẽ họ lặp qua các ký tự bằng cách sử dụng ngắn i? Chỉ là một ý nghĩ. Tôi tự hỏi họ đã kiểm tra URL nào cho 65k + o_o ;; - Garet Claborn
Câu trả lời này có thể là câu trả lời cụ thể, vì nó cung cấp các câu trả lời cụ thể: 2k cho IE, 65k cho Safari / Firefox, "nhiều hơn" cho Opera. - eis
Tôi tò mò. URL 65k có là URI dữ liệu hay URL thực theo nghĩa cổ điển không? - SaAtomic


Các URI RFC(trong đó URL là tập hợp con) không xác định độ dài tối đa, tuy nhiên, nó giới thiệu phần tên máy chủ của URI (nếu có) không vượt quá 255 ký tự:

Nhà sản xuất URI nên sử dụng tên   tuân theo cú pháp DNS, ngay cả khi   sử dụng DNS không ngay lập tức   rõ ràng và nên hạn chế những tên này   không quá 255 ký tự trong   chiều dài.

Tuy nhiên, như đã lưu ý trong các bài đăng khác, một số trình duyệt có giới hạn thực tế về độ dài của một URL.


66
2018-01-06 16:20





Trên iOS, không có giới hạn cho các lược đồ URL. Ngay cả một URL dài hơn 300 MB cũng được chấp nhận. Bạn có thể thử một URL dài như thế này:

NSString *path = [@"a:" stringByPaddingToLength:314572800 withString:@"a" startingAtIndex:0];
NSString *js = [NSString stringWithFormat:@"window.location.href = \"%@\";", path];
[self.webView stringByEvaluatingJavaScriptFromString:js];

Và bắt nếu nó thành công với:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"length: %@", @(request.URL.absoluteString.length));
    return YES;
}

53
2018-06-27 06:49



Bạn sir xứng đáng một +1 chỉ dành cho nỗ lực thử một URL 300MB - Дамян Станчев
iOS không phải là một trình duyệt trong và của chính nó. Đây có phải là trong Safari dành cho iOS không? - Randall
Lược đồ @Randall được xử lý bởi hệ điều hành và sau đó được gửi đến ứng dụng có thể mở chúng. Vì vậy, tất cả các ứng dụng trên iOS, bao gồm Safari, có thể xử lý URI dài. - Cœur
Cảm ơn bạn đã làm rõ. Có lẽ, mặc dù, điều này không ngăn chặn một ứng dụng tùy ý (ví dụ, một trình duyệt Tor-powered) giới thiệu giới hạn độ dài của chính nó, đúng không? - Randall


Các Đặc tả HTTP 1.1 nói:

Các URI trong HTTP có thể được biểu diễn trong   dạng tuyệt đối hoặc tương đối với một số
  URI cơ sở đã biết [11], tùy thuộc vào   bối cảnh sử dụng của họ. Cả hai
  các biểu mẫu được phân biệt bởi thực tế   URI tuyệt đối luôn bắt đầu
  với tên lược đồ theo sau là   đại tràng. Để biết thông tin chính xác về
  Cú pháp và ngữ nghĩa URL, xem "Đồng phục   Mã định danh tài nguyên (URI): Chung   Cú pháp và ngữ nghĩa, "RFC 2396 [42]   (thay thế RFC 1738 [4] và   RFC 1808 [11]). Đặc điểm kỹ thuật này   thông qua định nghĩa của   "Tham chiếu URI", "absoluteURI",   "relativeURI", "cổng",
  "máy chủ", "abs_path", "rel_path" và   "thẩm quyền" từ đó
  đặc điểm kỹ thuật.

Giao thức HTTP không đặt   bất kỳ giới hạn ưu tiên nào về độ dài của
  một URI. Máy chủ PHẢI có thể xử lý   URI của bất kỳ tài nguyên nào mà họ phân phối,   và NÊN có thể xử lý URI của   độ dài không giới hạn nếu chúng cung cấp   Biểu mẫu dựa trên GET có thể tạo   các URI như vậy. *
 Máy chủ NÊN trả lại   Trạng thái 414 (Yêu cầu-URI quá dài) nếu   URI dài hơn máy chủ có thể   xử lý (xem phần 10.4.15).

Lưu ý: Máy chủ phải thận trọng về tùy thuộc vào URI   độ dài         trên 255 byte, vì một số máy khách hoặc proxy cũ hơn         triển khai có thể không hỗ trợ đúng các độ dài này.

Như đã đề cập bởi @Brian, các máy khách HTTP (ví dụ: các trình duyệt) có thể có giới hạn riêng của chúng và các máy chủ HTTP sẽ có các giới hạn khác nhau.


49
2018-01-06 16:26





Hỗ trợ của Microsoft nói "Độ dài URL tối đa là 2.083 ký tự trong Internet Explorer".

IE có vấn đề với URL dài hơn. Firefox dường như hoạt động tốt với> 4k ký tự.


43
2018-05-26 16:18