웹을 서핑 할 때 무엇이 ​​업로드됩니까?


25

나는 모뎀을 사용하고, 그것은의 다운로드 속도를 보여줍니다 n 개의 kbps의와의 업로드 속도 m의 kbps의를. 로그를 확인하면 다운로드 및 업로드 된 데이터의 양이 표시됩니다. 한 시간에 3MB의 데이터를 업로드했음을 보여주는 이유가 무엇인지 궁금합니다.

웹을 서핑 할 때 무엇을 업로드합니까?

답변:


46

TCP 연결 및 승인의 작동 방식에 대한 자세한 내용은 Diogo의 답변을 참조하십시오.

사이트를 방문하면 다음과 같은 일이 발생합니다.

  1. 컴퓨터가 이미 IP 주소를 알고있는 DNS 서버 (아직 ISP에이 정보를 요청하는 자동 메커니즘을 통해)와 연결하고 연결을 확인하기 위해 패킷을 전송하는 DNS 서버와 연결됩니다. 만들어진. 연결이 완료되면 사이트는 방문하는 사이트의 IP 주소를 요청하여 사이트를 얻기 위해 어떤 컴퓨터에 연락해야하는지 알 수 있습니다. 즉, 도메인 이름이 포함 된 패킷을 보내 해당 응답을받습니다. 나중에 연결을 닫기 위해 패킷을 보냅니다.

  2. 방문하려는 사이트를 호스팅하는 웹 서버에 연결하면 연결 및 승인을 위해 패킷을 다시 보냅니다. 그런 다음 방문하려는 페이지를 요청하고 다시 패킷을 보냅니다. 그런 다음 응답하고 페이지의 구조를 나타내는 웹 페이지의 HTML이 표시됩니다 (레이아웃이 아님).

  3. 구조 만 있으므로 나머지는 가져와야합니다. 따라서 이미지 등의 스크립트, 스타일 및 미디어를 얻기 위해 추가 요청 (SU 질문은 40 요청과 동일)이 수행됩니다. 그리고이 중 일부는 방문한 웹 서버와 동일하지 않을 수 있으므로 추가 DNS 확인이 수행되어 1 단계로 돌아갈 수 있습니다.

  4. 무엇보다도, 수신 한 모든 패킷은 업로드되는 또 다른 데이터 소스를 추가하여 승인되며, 패킷을 절약하기 위해 일반적으로 여러 패킷이 한 번에 승인됩니다. 따라서, 당신이 무언가를받을 때 당신은 그것을받은 서버로 보낼 것이므로 그것이 보낸 곳에서 잃어버린 것을 알지 못합니다. 이렇게하면 서버가 다시 보내려고 할 필요가 없습니다.

결론은 다운로드하고있는 서버에 일부 요청을 연결하고 업로드하지 않으면 다운로드 할 수 없다는 것입니다. 그리고 그것이 작은 업로드를 구성하는 것입니다 ...

클릭하는 것만 큼 좋아하지는 않습니다. 그 이상으로 질문을 예로 들어 보겠습니다. 500 자 정도 입력하고 문자는 1 바이트 (ASCII 문자 인 경우 모두이 문자 인 경우)로 계산됩니다. 1-4 바이트 (유니 코드 문자 인 경우) 따라서 귀하의 질문에는 실제로 0.5KB 또는 0.00005MB가 필요합니다! 그러나 그것은 우리에게 보내는 질문 일뿐 만 아니라 POST 또는 AJAX 요청으로 둘러싸여 서버에 질문과 패킷 헤더 자체를 저장하도록 요청합니다.

모든 것을 합치면 몇 시간 안에 몇 메가 바이트에 도달하는 것이 합리적입니다.


1
이동 중에 Diogo를 언급하면서 William의 대답을 설명하려고 시도했습니다. :)
Tamara Wijsman

2
그리고 나는 이와 같은 자세한 답변을 써야 할 때 빨리하려고했습니다! 나는 항상 하늘 로켓이 답을 그리워하는 것 같습니다!
윌리엄 힐섬

27

업로드는 웹 사이트에 주소 (예 : www.google.com)를 입력 하여 해당 사이트에 대한 HTTP 연결을 요청하는 요청에 따라 기본으로 이루어 집니다. 이러한 요청 후 다음 업로드 지점은 핸드 셰이크 프로세스 에 대한 ACK ( HTTP 프로토콜의 TCP 연결 승인 )입니다 .

데이터 네트워킹에서, 확인 응답 (또는 확인 응답)은 통신 프로토콜의 일부로서 확인 응답 또는 응답의 수신을 나타 내기 위해 통신 프로세스 또는 컴퓨터간에 전달되는 신호입니다. 예를 들어, ACK 패킷은 전송 제어 프로토콜에서 연결 설정시 SYN 패킷의 수신, 연결 사용 중 데이터 패킷 및 연결 종료시 FIN 패킷의 수신을 확인하는 데 사용됩니다.

예를 들어, TCP 다이어그램을 살펴보십시오 (인터넷 서핑시 TCP 사용).

도표


15

온라인 상태 일 때 원격 대상에서 오는 모든 것은 다운로드이며 보내는 모든 것은 업로드입니다.

따라서 단순히 웹 페이지를 요청하는 것조차도 컴퓨터가 DNS 요청을하고 웹 서버에 연결하고 페이지 요청을 보낸 다음 해당 페이지의 각 요소 / picture / css / javascript에 대한 요청을 보내는 것으로 구성됩니다. .

한 시간 동안 3MB를 사용하는 것은 그리 많지 않습니다!


페이지를 요청하면 해당 페이지와 관련된 모든 것이 자동으로 제공되거나 각 요소에 대해 언급 한 별도의 요청이 있습니까?
Deb

1
@Debabratta 각 리소스 에 대해 별도의 요청이 전송 됩니다 . 페이지에 대한 하나 (내용-텍스트, 마크 업-레이아웃 등), 각 페이지에 참조되는 다양한 이미지, 자바 스크립트 파일, CSS 파일에 대해 하나씩. (브라우저가 마지막으로 페이지를 방문했을 때 다운로드 한 이미지의 복사 본인 브라우저가 캐시를 사용하는 경우도 있지만 이미지의 변경 여부에 대한 요청도 포함됩니다). 플래시, 실버 라이트 또는 기타 그러한 플러그인의 요청도 추가됩니다.
Nivas

2

일반적인 TCP 및 HTTP 패킷보다 추적기에서 캡처 한 일부 특수 정보에 대해서도 약간 배워야합니다. Ghostery 전용 웹 사이트 에서 정보를 얻으십시오 .

필요한 데이터 만 더 크게 만듭니다 !


0

더 간단한 고장 :

  • 서버에 연결하기위한 TCP 패킷
  • 웹 페이지의 각 구성 요소에 대한 HTTP 요청 패킷
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.