Điều gì được tải lên khi tôi lướt web?


25

Tôi đang sử dụng modem và nó cho thấy tốc độ tải xuống là n kbps và tốc độ tải lên là m kbps. Khi tôi kiểm tra nhật ký của nó, nó hiển thị lượng dữ liệu được tải xuống và tải lên. Tôi tự hỏi tại sao nó cho thấy rằng tôi đã tải lên 3 MB dữ liệu trong một giờ, điều này có vẻ quá mức khi tôi không bao giờ tải lên bất cứ thứ gì hoặc sử dụng torrent.

Vì vậy, tôi đang tải lên những gì khi tôi đang lướt web?

Câu trả lời:


46

Để biết thêm chi tiết về cách hoạt động của các kết nối và xác nhận TCP, hãy xem câu trả lời của Diogo

Khi bạn truy cập một trang web, một cái gì đó như thế này xảy ra:

  1. Một kết nối được tạo với máy chủ DNS của bạn (nếu chưa được thực hiện) mà máy tính của bạn đã biết địa chỉ IP của (hoặc thông qua một số cơ chế tự động yêu cầu thông tin này từ ISP của bạn), gửi các gói để kết nối và xác nhận kết nối đã được thực hiện. Sau khi kết nối được thực hiện, trang web của bạn sẽ hỏi địa chỉ IP của trang bạn truy cập để nó biết máy tính nào cần liên hệ để lấy trang web. Điều này có nghĩa là nó sẽ gửi một gói chứa tên miền để nhận được phản hồi đó. Sau đó, nó cũng gửi một gói để đóng kết nối.

  2. Một kết nối được tạo cho máy chủ web lưu trữ trang web bạn muốn truy cập, điều này một lần nữa sẽ gửi một gói để kết nối và xác nhận kết nối. Sau đó, nó đưa ra yêu cầu cho trang bạn muốn truy cập, lại gửi một gói. Sau đó, nó phản hồi và bạn được phục vụ HTML của trang web chỉ ra cấu trúc của trang (không phải bố cục).

  3. Bởi vì bạn chỉ có cấu trúc, bạn vẫn cần tìm nạp phần còn lại. Vì vậy, các yêu cầu bổ sung (một câu hỏi SU giống như 40 yêu cầu) được thực hiện để có được các kịch bản, kiểu và phương tiện như hình ảnh và những thứ tương tự. Và vì một số trong số này có thể không ở trên cùng một máy chủ web khi bạn truy cập, việc phân giải DNS bổ sung có thể diễn ra đưa bạn quay lại bước 1.

  4. Trên hết, lưu ý rằng mọi gói bạn nhận được đều được thừa nhận thêm một nguồn dữ liệu khác được tải lên, để dự phòng trên các gói thường có nhiều gói được nhận cùng một lúc. Do đó, khi bạn nhận được thứ gì đó bạn sẽ gửi đến máy chủ mà bạn đã nhận được để nó biết rằng những gì nó gửi không bị mất ở đâu đó. Theo cách đó, máy chủ không phải thử gửi lại.

Điểm mấu chốt là bạn không thể tải xuống một cái gì đó mà không kết nối và tải lên một số yêu cầu đến các máy chủ mà bạn đang tải xuống. Và đó là những gì tạo nên một chút tải lên ...

Và không phải là bạn chỉ nhấp chuột, bạn làm nhiều hơn thế, hãy lấy câu hỏi của bạn làm ví dụ: Bạn đã nhập khoảng 500 ký tự, một ký tự được tính là 1 byte (nếu là ký tự ASCII, tất cả đều trong trường hợp này) và có thể từ 1 đến 4 byte (nếu là ký tự Unicode). Vì vậy, câu hỏi của bạn thực sự mất 0,5 KB hoặc 0,00005 MB! Nhưng đó không chỉ là câu hỏi được gửi cho chúng tôi, nó còn được bao quanh bởi một yêu cầu POST hoặc AJAX yêu cầu máy chủ lưu trữ câu hỏi của bạn và chính tiêu đề gói.

Nếu bạn thêm mọi thứ lên, sẽ trở nên hợp lý để đạt được một vài megabyte trong vài giờ hoặc lâu hơn.


1
Đã cố gắng phác thảo câu trả lời của William trong khi đề cập đến Diogo khi đang di chuyển, hãy ủng hộ họ! :)
Tamara Wijsman

2
Và tôi đã cố gắng nhanh chóng khi tôi nên viết một câu trả lời chi tiết như thế này! Tôi dường như luôn bỏ lỡ những câu trả lời mà tên lửa bầu trời đó !!!
William Hilsum

27

Việc tải lên của bạn được dựa trên chính bởi các yêu cầu mà bạn thực hiện khi nhập địa chỉ (ví dụ www.google.com) vào máy chủ web để yêu cầu kết nối HTTP đến trang web đó. Sau những yêu cầu này, điểm tải lên tiếp theo là ACK (Lời cảm ơn từ các kết nối TCP trên giao thức HTTP ) trong quá trình bắt tay :

Trong mạng dữ liệu, một xác nhận (hoặc xác nhận) là tín hiệu được truyền giữa các quá trình giao tiếp hoặc máy tính để biểu thị xác nhận hoặc nhận phản hồi, như một phần của giao thức truyền thông. Chẳng hạn, các gói ACK được sử dụng trong Giao thức điều khiển truyền dẫn để xác nhận việc nhận các gói SYN khi thiết lập kết nối, các gói dữ liệu trong khi kết nối đang được sử dụng và các gói FIN khi chấm dứt kết nối.

Để làm gương, hãy xem sơ đồ TCP (bạn sử dụng TCP khi lướt trên Internet):

sơ đồ


15

Khi bạn trực tuyến, khá đơn giản, mọi thứ xuất phát từ mục tiêu từ xa là tải xuống và mọi thứ bạn gửi đều là tải lên.

Vì vậy, thậm chí chỉ cần yêu cầu một trang web sẽ bao gồm máy của bạn (rất có thể) thực hiện yêu cầu DNS, kết nối với máy chủ web, gửi yêu cầu cho một trang, sau đó gửi yêu cầu cho từng thành phần / hình ảnh / css / javascript trên trang đó .

3MB cho một giờ sử dụng không thực sự nhiều!


Khi tôi yêu cầu một trang thì mọi thứ liên quan đến trang đó sẽ tự động xuất hiện hoặc đối với mỗi yếu tố, một yêu cầu riêng biệt sẽ được bạn đề cập?
Nợ

1
@Debabratta một yêu cầu riêng được gửi cho mỗi tài nguyên . Một cho trang (với nội dung - văn bản, đánh dấu - bố cục, v.v.), mỗi trang cho các hình ảnh khác nhau, tệp javascript, tệp css được đề cập trong trang. (Đôi khi trình duyệt sử dụng bộ đệm - bản sao của hình ảnh mà bạn đã tải xuống lần cuối cùng bạn truy cập trang. Nhưng điều này cũng liên quan đến yêu cầu xem hình ảnh có thay đổi hay không). Các yêu cầu từ flash, silverlight hoặc các plugin khác như vậy cũng được thêm vào.
Nivas

2

Nhiều hơn các gói TCP và HTTP thông thường, bạn cũng nên tìm hiểu một chút về một số thông tin đặc biệt được theo dõi bởi các trình theo dõi. Nhận thông tin trên trang web dành riêng cho Ghostery .

Họ chỉ làm cho dữ liệu cần thiết lớn hơn!


0

Một sự cố đơn giản hơn:

  • Các gói TCP để mở kết nối đến máy chủ
  • Gói yêu cầu HTTP cho từng thành phần của trang web
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.