Зашто мој веб претраживач понекад не приказује приказ преосталог времена преузимања?
Понекад вјерни мјерач напретка преузимања на вашем прегледнику (или другој апликацији) само баца руке у зрак и одустаје од приказивања преосталог времена преузимања. Зашто понекад нокти пројицирано време преузимања и понекад не сазна све то заједно?
Данашња сесија питања и одговора долази нам захваљујући СуперУсер-у - подјела Стацк Екцханге-а, груписане од стране заједнице веб-локација за питања и одговоре.
Питање
Читач СуперУсер Цолдблацкице жели да зна зашто његов претраживач не прати прљавштину:
Повремено, када преузимате датотеку у веб прегледачу, напредак преузимања не „зна“ укупну величину датотеке, нити колико је далеко у преузетој датотеци - она само показује брзину којом се преузима, са укупно као "непознато".
Зашто претраживач не би знао коначну величину неких датотека? Где уопште добија ове информације?
Где заиста?
Одговори
Доприносник СуперУсер-а Гроностај нуди следећи увид:
Да бисте захтевали документе од веб сервера, претраживачи користе ХТТП протокол. То име можете да знате из адресне траке (можда је сада скривено, али када кликнете на адресну траку, копирајте УРЛ адресу и налепите је у неки едитор текста, видећете
хттп: //
у почетку). То је једноставан протокол заснован на тексту и ради овако:Прво, ваш претраживач се повезује са сервером веб сајта и шаље УРЛ документа који жели да преузме (веб странице су и документи) и неке детаље о самом претраживачу (Усер-Агент итд.). На пример, да бисте учитали главну страницу на СуперУсер сајт,
хттп://суперусер.цом/
, мој прегледач шаље захтев који изгледа овако:ГЕТ / ХТТП / 1.1 Хост: суперусер.цом Веза: кееп-аливе Прихвати: тект / хтмл, апплицатион / кхтмл + кмл, апплицатион / кмл; к = 0.9, * / *; к = 0.8 Корисник-агент: Мозилла / 5.0 ( Виндовс НТ 6.1; ВОВ64) Аццепт-Кодирање: гзип, дефлате, сдцх Аццепт-Лангуаге: пл-ПЛ, пл; к = 0.8, ен-УС; к = 0.6, ен; к = 0.4 Цоокие: [уклоњено за безбедност] ДНТ : 1 Иф-Модифиед-Од: Туе, 09 Јул 2013 07:14:17 ГМТ
Прва линија наводи који документ сервер треба да врати. Остале линије се зову заглавља; изгледају овако:
Име заглавља: Вредност заглавља
Ове линије шаљу додатне информације које помажу серверу да одлучи шта да ради.
Ако је све у реду, сервер ће одговорити слањем траженог документа. Одговор почиње са поруком о статусу, након чега слиједе неки заглавља (с детаљима о документу) и коначно, ако је све у реду, садржај документа. Овако изгледа одговор од СуперУсер сервера за мој захтев:
ХТТП / 1.1 200 ОК Цацхе-Цонтрол: публиц, мак-аге = 60 Цонтент-Типе: тект / хтмл; цхарсет = утф-8 Екпирес: Туе, 09 Јул 2013 07:27:20 ГМТ Туе, 09 Јул 2013 07:26:20 ГМТ Вари: * Кс-Фраме-Оптионс: САМЕОРИГИН Датум: Уто, 09 Јул 2013 07:26:19 ГМТ Цонтент-Ленгтх: 139672 [… снип…]
После последње линије, СуперУсер сервер затвара везу.
Прва линија (
ХТТП / 1.1 200 ОК
) садржи код одговора, у овом случају то је200 ОК
. То значи да ће сервер вратити документ као што је затражено. Када сервер не успе, код ће бити нешто друго: вероватно сте видели404 Није пронађен
, и403 Забрањено
прилично је уобичајена. Затим следе заглавља.Када претраживач пронађе празан ред у одговору, он зна да је све што је прошло ту линију садржај документа који је тражио. У овом случају
је прва линија кода почетне странице СуперУсер-а. Ако сам тражио да преузмем документ, вероватно би то били неки бесмислени знакови, јер је већина формата докумената нечитљива без претходне обраде.
Назад на заглавља. За нас је најзанимљивија посљедња,
Дужина садржаја
. Информише прегледачу колико бајтова података треба да очекује након празне линије, тако да је у основи величина документа изражена у бајтовима. Ово заглавље није обавезно и може га изоставити сервер. Понекад се величина документа не може предвидети (на пример, када се документ генерише у лету), понекад лењи програмери не укључују (прилично уобичајени на сајтовима за преузимање управљачких програма), а понекад су и веб сајтови креирани од стране почетника који не знају таквог заглавља.У сваком случају, без обзира на разлог, заглавље може недостајати. У том случају претраживач не зна колико ће података послужитељ послати и тако ће приказати величину документа као непознат, чека да сервер затвори везу. И то је разлог непознатих величина докумената.
Имате ли нешто да додате објашњењу? Звучи у коментарима. Желите ли прочитати више одговора од других технолошки паметних Стацк Екцханге корисника? Погледајте цео дискусију овде.