Câu hỏi Làm thế nào khác nhau là tải một tập tin từ truy cập vào một trang web?


Tôi hỏi vì ở đây tôi có tốc độ tải xuống là 1MBps trong khi các trang web mất một thời gian rất dài để tải (chắc chắn không phải là 1 MBps).

Tôi đoán truy cập một trang web về cơ bản là yêu cầu nó từ một máy chủ, và sau đó trong một cách "tải xuống" trang và sau đó vẽ nó.

Liệu tôi có sai? Điều gì có thể là lý do khiến tôi có sự khác biệt về tốc độ tải xuống và trang web?


4
2017-10-06 20:46


gốc


Thú vị để xem rất nhiều quan điểm và upvotes về câu trả lời và do đó vài upvotes về câu hỏi chính nó ;-) 1 cho phát ra một cuộc thảo luận thú vị! - Ivo Flipse♦


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


Một số trang web có nhiều thành phần riêng lẻ, tất cả đều phải được tải xuống riêng. Trình duyệt của bạn xử lý tất cả điều này cho bạn, nhưng thường với hiệu suất giảm, vì có rất nhiều kết nối khác nhau phải được thực hiện và có khả năng một số sẽ phải đợi những người khác kết thúc. Hơn nữa, các trang web thường có dữ liệu từ các máy chủ khác nhau (các quảng cáo có thể đến từ máy chủ của riêng chúng) và sự chậm trễ cho bất kỳ phần tử nào cũng có thể làm chậm toàn bộ máy chủ. Tệp là một tệp tải xuống đơn giản từ một địa điểm.

Do đó, băng thông (lượng dữ liệu bạn có thể tải xuống trong đơn vị thời gian) là rất quan trọng trong việc tải xuống tệp. Độ trễ (thời gian phụ) quan trọng hơn rất nhiều trên web.


2
2017-10-06 21:27



sau đó sẽ không tốt hơn, nếu chúng ta có thể "tải xuống" trang web (tất cả các thành phần của nó - bao gồm cả hình ảnh, v.v.) trong một lần (giống như tải xuống một tệp thông thường) và sau đó hiển thị nó. nó sẽ tiết kiệm không có lần yêu cầu phải được thực hiện cho các thành phần khác nhau và do đó sẽ nhanh hơn. Phải không? - Lazer
Nó sẽ nhưng đó không phải là cách internet hoạt động. Nếu có, bạn phải điền tất cả các hình ảnh của bạn, vv Mỗi hình ảnh là một yêu cầu riêng biệt cho một máy chủ. Việc nội tuyến tất cả các hình ảnh của bạn có nghĩa là nếu bạn muốn thay đổi một hình ảnh được sử dụng trong nhiều trang khác nhau, bạn phải thay đổi tất cả các trang khác nhau. - Drew
@ Drew yeah, đúng, tôi hiểu điều này ngay bây giờ. - Lazer


Điều này có thể do bất kỳ / tất cả những điều sau đây gây ra:

  • Máy chủ chậm.
  • Máy chủ có kết nối chậm.
  • Máy tính của bạn chậm. Kết xuất cũng cần thời gian.
  • Trong khi kết nối cho phép 1Mbps lưu lượng truy cập, nó có độ trễ cao. So sánh điều này với một con tàu. Bạn có thể tải rất nhiều thứ trong một con tàu, nhưng nó sẽ mất một thời gian dài để đạt được điểm đến của nó.

5
2017-10-06 20:49



So sánh của bạn là khó hiểu. 1Mb / s là lượng dữ liệu trong một khoảng thời gian nhất định. Về bản chất, đó là một con tàu có thể chứa 1Mb hàng hóa và đi đến đích trong 1 giây. Tại sao nó sẽ chậm hơn? - Giffyguy
Giả sử tôi đặt 1Mb dữ liệu trên internet trong một giây. Sau khi tôi đã làm điều đó, dữ liệu vẫn chưa đến đích. Đầu tiên nó phải đi qua rất nhiều dây cáp, bộ định tuyến và các thứ khác. Cũng giống như một con tàu cần cày qua toàn bộ đại dương. So sánh cáp với tuyến đường vận chuyển. Tôi có thể đặt một con tàu trên đó mỗi giây, với tải trọng 1Mb. Điều đó không có nghĩa là khi tôi gửi con tàu thứ hai đi, con tàu đầu tiên đã đến đích. Đó là độ trễ này mà bạn nhận được khi bạn thực hiện lệnh ping. - Bart van Heukelom
[@Bart van Heukelom] Tôi nghĩ rằng tôi hiểu so sánh của bạn (nó giải thích độ trễ), nhưng nó vẫn không giải thích sự khác biệt về tốc độ mà tôi nhận được. Phải không? - Lazer
Nó có. Một trang web rất nhỏ có thể vẫn mất nhiều thời gian để tải nếu độ trễ cao. Gửi một con tàu gần như trống rỗng sẽ chỉ miễn là một con tàu được nạp đầy đủ (nếu chúng ta bỏ qua rằng con tàu đã tải cần nhiều công suất động cơ hơn: p) - Bart van Heukelom
Vì vậy, có một sự khác biệt trong tốc độ thực tế bạn đang nhận được, hoặc là bạn chỉ dựa trên tốc độ này ISP của bạn cung cấp cho bạn? - Josh Hunt


Điều quan trọng là phải hiểu cách trang web được tải xuống để hiểu tại sao tải xuống tệp 1MB có thể nhanh hơn 256kb thậm chí bao gồm một trang web.

  1. Nếu nén GZIP có trong máy chủ web cho HTML / JavaScript / v.v. (rất có thể), trình duyệt của bạn sẽ tải xuống nội dung nén và sau đó phải giải nén nó.
  2. Hình ảnh có thể chỉ 30-40k, nhưng được giải mã chúng có thể lên tới nhiều megabyte trong bộ nhớ
  3. Nếu trang web có nhiều tệp bên ngoài (CSS / JavaScript / Images), mỗi tệp đó có thể được tải xuống trên một kết nối riêng biệt như một phần của trình duyệt của bạn soạn trang
  4. Tải xuống tệp là thao tác cơ bản trong HTTP / FTP được sắp xếp hợp lý. Không có nội dung nào để phân biệt và hiển thị

3
2017-10-06 21:14



Tôi không bao giờ biết rằng giải nén và giải mã được thực hiện ... - Lazer


Chưa được đề cập - có nhiều cách hơn để tải xuống trang web điển hình những ngày này so với văn bản mà bạn thấy được hiển thị trong trình duyệt của bạn. Nếu trang bạn đang truy cập có khả năng được chỉnh sửa, nó có thể chứa rất nhiều mã để xử lý. TinyMCE là trình soạn thảo javascript "Rich Text" phổ biến cho web. Nó nhỏ nhưng nó không cái đó nhỏ bé.

TinyMCE

Đây chỉ là một ví dụ, nhưng loại điều này bloats tất cả các loại trang web và có thể làm cho kinh nghiệm duyệt web của bạn không phải những gì bạn mong đợi. Tùy thuộc vào người tạo trang web hoặc ứng dụng web, bạn có thể tải xuống một ứng dụng như thế này cho dù bạn có bao giờ sử dụng nó hay không. Nó chỉ được nạp vào bộ nhớ, chờ đợi.

Một khía cạnh khác là tâm lý. Khi bạn chọn một tệp để tải xuống, bạn mong đợi để nó tải xuống. Khi bạn nhấp vào một liên kết đến một trang, bạn nghiêng nhiều hơn để mong đợi sự hài lòng ngay lập tức, vì vậy wqhile tôi không nói 'đó là tất cả trong đầu của bạn', chắc chắn có một kỳ vọng ở đó.


2
2017-10-07 03:54



@ DaveParillo đây cũng là điều tôi biết. Tôi đã có một ý tưởng, bạn đã xác nhận nó. - Lazer


Để tải xuống, kết nối được thương lượng khi bắt đầu truyền tệp và tốc độ của bạn được chọn lên bình thường. Đó là một phần của chuyển tập tin là chậm (như bạn đôi khi có thể nhìn thấy trong thanh trạng thái trình duyệt web của bạn .. gửi yêu cầu đến [site] ... chờ trả lời từ [trang web] và phải mất một lúc). Mỗi lần bạn yêu cầu một trang web, cùng một cuộc đàm phán vẫn tiếp diễn. Cũng có thể máy chủ có thể chậm đáp ứng các yêu cầu do tải hoặc trình duyệt của bạn chậm khi hiển thị dữ liệu.


1
2017-10-06 20:49



Điều này thật ý nghĩa. - Lazer


Bạn không chỉ định trình duyệt nào bạn đang sử dụng và loại kết nối internet nào bạn có.

Nếu kết nối internet là ví dụ. liên kết vệ tinh, nó có băng thông tải xuống cao và băng thông tải lên rất chậm và độ trễ cao. Điều tương tự cũng áp dụng cho kết nối di động 3G / HSDPA, mặc dù độ trễ thấp hơn so với vệ tinh nhưng vẫn thường là 10-30x so với ADSL hoặc cablemodem.

Điều này có thể được thực hiện thậm chí tồi tệ hơn bằng cách sử dụng một trình duyệt xấu như Internet Explorer mà chỉ mở 2-3 kết nối đồng thời khi tải xuống các tệp từ máy chủ web. Với kết nối kiểu mobilephone, kết nối HTTP thực hiện bắt tay TCP / IP 3 chiều, một tệp có thể mất gần một giây trước khi bắt đầu tải xuống, giờ đây kết hợp với vài kết nối đồng thời từ trình duyệt và đột nhiên mất hàng chục giây để tải xuống trang web nhỏ có một số hình ảnh và biểu định kiểu và các tệp javascripts được liên kết với nó.

Tôi sử dụng Opera cho phép tôi thiết lập các kết nối đồng thời với một số số rất hign, ví dụ 32 hoặc nhiều hơn. Điều này có nghĩa là khi mở một trang web trên liên kết độ trễ cao, trình duyệt sẽ mất vài giây để bắt tay với máy chủ và sau đó tải xuống 32 mục cùng lúc và thường có thể tối đa băng thông tải xuống sẽ không bao giờ xảy ra nếu trình duyệt tải xuống đơn / vài tệp cùng một lúc.

Sự khác biệt tốc độ cũng có thể xảy ra nếu máy tính của bạn chậm hoặc không có đủ bộ nhớ và trình duyệt có thể bog xuống máy trong khi nó hiển thị trang. Điều này có thể tránh được bằng cách sử dụng trình duyệt nhanh hơn / nhẹ hơn như Opera hoặc nếu có thể, đặt trình duyệt không hiển thị trang cho đến khi nó tải xuống tất cả các phần tử được yêu cầu. Ngày nay, các trình duyệt cố gắng hiển thị trang càng sớm càng tốt, điều này thường khiến chúng tái xuất hiện trang nhiều lần và điều này có thể chậm trên một máy cũ hơn.


0
2017-10-07 01:20



@ Windows Vista Windows Vista, Firefox 3.5, bộ nhớ không phải là một vấn đề (3GB), kết nối của tôi là một dòng thuê được chia sẻ bởi khoảng 300 người. - Lazer