홈페이지 » 어떻게 » 내 웹 브라우저에서 남은 다운로드 시간을 표시하지 않는 이유는 무엇입니까?

    내 웹 브라우저에서 남은 다운로드 시간을 표시하지 않는 이유는 무엇입니까?

    때로는 브라우저 (또는 다른 응용 프로그램)의 충실한 다운로드 진행률 측정기가 손을 공중에 던지고 나머지 다운로드 시간 표시를 포기하기도합니다. 왜 때로는 예상되는 다운로드 시간을 못살 놓고 때로는 모두 함께보고하지 못하는 이유는 무엇입니까??

    오늘의 질문 및 답변 세션은 Q & A 웹 사이트의 커뮤니티 중심 그룹 인 Stack Exchange의 하위 부문 인 수퍼 유저의 도움으로 이루어졌습니다..

    질문

    수퍼 유저 리더 Coldblackice는 브라우저가 항상 흙을 요리하지 않는 이유를 알고 싶어합니다.

    간혹 웹 브라우저에서 파일을 다운로드 할 때 다운로드 진행률은 파일의 전체 크기 또는 다운로드의 진행 정도를 "알지 못합니다"- 다운로드 속도 만 표시합니다 "알 수 없음".

    브라우저가 일부 파일의 최종 크기를 알 수없는 이유는 무엇입니까? 어디서이 정보를 얻을 수 있습니까??

    실제로 어디에?

    답변

    수퍼 유저 기고가 Gronostaj는 다음과 같은 통찰력을 제공합니다.

    웹 서버에서 문서를 요청할 때 브라우저는 HTTP 프로토콜을 사용합니다. 주소 표시 줄의 이름을 알 수 있습니다 (현재 숨겨져있을 수 있지만 주소 표시 줄을 클릭하면 URL을 복사하여 일부 텍스트 편집기에 붙여 넣음). http : // 처음에는). 이것은 간단한 텍스트 기반 프로토콜이며 다음과 같이 작동합니다.

    먼저 브라우저가 웹 사이트의 서버에 연결하고 다운로드하려는 문서의 URL (웹 페이지도 문서 임)과 브라우저 자체에 대한 세부 정보 (사용자 에이전트 등)를 보냅니다. 예를 들어 SuperUser 사이트에서 기본 페이지를로드하려면, http://superuser.com/, 내 브라우저가 다음과 같은 요청을 보냅니다.

    GET / HTTP / 1.1 호스트 : superuser.com 연결 : 연결 유지 : text / html, application / xhtml + xml, application / xml, q = 0.9, * / *, q = 0.8 사용자 에이전트 : Mozilla / 5.0 ( Windows NT 6.1, WOW64) Accept-Encoding : gzip, deflate, sdch Accept-Language : pl-PL, pl; q = 0.8, en-US; q = 0.6, en; q = 0.4 쿠키 : [보안을 위해 제거됨] DNT : 1 수정 된 경우 : Tue, 09 Jul 2013 07:14:17 GMT 

    첫 번째 줄은 서버가 반환해야하는 문서를 지정합니다. 다른 줄은 헤더라고 부릅니다. 그들은 다음과 같이 보입니다.

    헤더 이름 : 헤더 값 

    이 줄은 서버가 수행 할 작업을 결정하는 데 도움이되는 추가 정보를 보냅니다..

    모두 정상이면 서버는 요청 된 문서를 보내 응답합니다. 응답은 상태 메시지와 몇 가지 헤더 (문서에 대한 세부 정보 포함), 그리고 모든 것이 정상이면 문서의 내용으로 시작됩니다. 다음은 내 요청에 대한 SuperUser 서버의 응답입니다.

    HTTP / 1.1 200 OK 캐시 제어 : public, max-age = 60 Content-Type : text / html; charset = utf-8 만료일 : Tue, 09 Jul 2013 07:27:20 GMT 최종 수정일 : Tue, 09 Jul 2013 07:26:20 GMT 변동 : * X- 프레임 옵션 : SAMEORIGIN 날짜 : Tue, 09 Jul 2013 07:26:19 GMT 콘텐츠 길이 : 139672 [... snip ...]  

    마지막 줄 다음에 SuperUser의 서버가 연결을 닫습니다..

    첫 번째 줄 (HTTP / 1.1 200 OK)에는 응답 코드가 들어 있습니다.이 경우에는 200 OK. 요청한대로 서버가 문서를 반환한다는 의미입니다. 서버가 그렇게 할 수 없을 때, 코드는 다른 것입니다. 아마 보았을 것입니다. 404 찾을 수 없음, 과 403 금지 꽤 흔하다. 그런 다음 헤더가 따라옵니다..

    브라우저가 응답에서 빈 줄을 발견하면 해당 줄을 지난 모든 것이 요청한 문서의 내용임을 알게됩니다. 그래서이 경우에  수퍼 유저의 홈페이지 코드의 첫 번째 줄입니다. 다운로드 할 문서를 요청했다면 대부분의 문서 형식이 사전 처리없이 읽을 수 없으므로 횡설수설하는 문자가 될 것입니다..

    헤더로 돌아갑니다. 가장 흥미로운 것은 마지막 것입니다., 콘텐츠 길이. 브라우저에 빈 줄 다음에 몇 바이트의 데이터가 있어야하는지 알려주므로 기본적으로 문서 크기는 바이트로 표시됩니다. 이 헤더는 필수는 아니며 서버에서 생략 할 수 있습니다. 때로 문서 크기를 예측할 수없는 경우도 있습니다 (예 : 문서를 즉시 작성하는 경우), 게으른 프로그래머가 드라이버를 다운로드하지 않는 경우가 종종 있습니다. 때로는 웹 사이트가 모르는 초보자가 만든 경우도 있습니다 그러한 헤더의.

    어쨌든 이유가 무엇이든 헤더가 누락 될 수 있습니다. 이 경우 브라우저는 서버가 전송할 데이터의 양을 알지 못하므로 문서 크기를 다음과 같이 표시합니다. 알 수 없는, 서버가 연결을 종료하기를 기다리는 중입니다. 이것이 문서 크기가 알려지지 않은 이유입니다..


    설명에 추가 할 것이 있습니까? 의견에서 소리가 나지. 다른 기술에 정통한 Stack Exchange 사용자의 답변을 더 읽고 싶습니까? 전체 토론 스레드를 여기에서 확인하십시오..