Webový prohlížeč

Co musí proběhnout, než ti webová stránka dá svůj soubor

Vidíš to video. Hraje, přímo tady, ve webovém prohlížeči. Tak proč ho nejde uložit? Odpověď je, že webová stránka málokdy předá soubor — předává instrukce, a soubor, který z nich prohlížeč sestaví, nemusí vůbec existovat jako jedna věc.

5 min čtení Aktualizováno 29. července 2026

FoxDL

Čtyři způsoby, jak stránka dodává video, jen jeden je soubor

Nejstarší a nejjednodušší je přímý soubor: stránka odkazuje na adresu končící .mp4 a prohlížeč ji stáhne. Pokud tu adresu najdeš, máš soubor. Takhle stále fungují menší weby, fóra, zpravodajské servery a souborové hostingy.

Druhý je adaptivní streamování — HLS nebo DASH. Stránka načte playlist, který vypisuje stovky krátkých segmentů na několika kvalitativních úrovních, a přehrávač je za chodu spojuje, přepínaje kvalitu podle tvého připojení. Neexistuje jeden soubor, který by se dal najít. Uložit ho znamená stáhnout každý segment a z nich soubor znovu poskládat.

Třetí je blob URL. Stránka si už data stáhla pomocí JavaScriptu a předala přehrávači odkaz na něco, co žije v paměti samotného prohlížeče. Adresa, kterou vidíš (blob:https://…), je mimo tu stránku a tu relaci nesmyslná — nejde ji otevřít, sdílet ani stáhnout, a na tomhle ztroskotá většina naivních „vyhledávačů videa“.

Čtvrtý je chráněný obsah: šifrované segmenty přehrávané přes DRM systém, kde je dešifrovací klíč vydán prohlížeči za podmínek, které výslovně zakazují uchování kopie. Tohle není překážka k obejití; je to mechanismus, na kterém stojí licenční smlouva, a žádný legitimní nástroj ho nepřekonává.

Jak webový prohlížeč pozná, že je co uložit

Vestavěný webový prohlížeč, který nabízí uložit, co najde, dělá několik věcí najednou. Každá zachytí případ, který ostatní minou.

Čtení mediálních prvků stránky
Procházení dokumentu kvůli tagům <video>, <audio> a <source> a čtení jejich adres. Zachytí případ přímého souboru okamžitě, mine všechno postavené JavaScriptem po načtení stránky.
Nahlédnutí do shadow DOM
Moderní přehrávače jsou vlastní prvky, jejichž vnitřek je záměrně uzavřený před stránkou. Hledání, které se zastaví u běžného dokumentu, uvidí prázdnou krabici tam, kde je video.
Sledování toho, co stránka skutečně vyžádala
Prohlížeč zná každý zdroj, který stránka stáhla. Mediální soubor, který se načetl — bez ohledu na to, který skript si o něj řekl, nebo kdy — se tady objeví, i když na něj nic ve viditelné stránce neodkazuje.
Zjišťování skutečného typu odpovědi
URL končící .php může vrátit video, a URL končící .mp4 může vrátit chybovou stránku. Skutečný Content-Type, který server poslal, ti řekne, které je které — přípony jsou jen odhad.

Jak vypadá uložení ze stránky, když to funguje

Na pořadí záleží. Většina selhání pochází z přeskočení druhého kroku a spuštění čtyřgigabajtového přenosu přihlašovací stránky.

  1. Nejdřív přehraj vteřinu média

    Řada stránek nenačte nic, dokud nezačne přehrávání. Dvě vteřiny přehrávání jsou často rozdíl mezi prázdným seznamem kandidátů a plným.

  2. Zkontroluj, čím kandidát skutečně je

    Než se do toho pustíš, podívej se na hlášenou velikost a typ. „Film“ o 14 KB je HTML stránka. Typ text/html, kde jsi čekal video/mp4, znamená, že máš špatný odkaz.

  3. Vyber kvalitu, kterou chceš

    Stream obvykle nabízí několik. Nejvyšší není vždy správná odpověď na telefonu, kde je rozdíl neviditelný a úložiště ne.

  4. Nech relaci přenést s sebou

    Chráněné odkazy kontrolují, kdo se ptá: cookies z tvé přihlášené relace, stránku, která tě odkázala, občas identitu prohlížeče. Stahování spuštěné bez toho dostane 403, i když se stránka přehrávala v pořádku.

  5. Ověř, co přistálo

    Otevři to. Soubor, který se přehraje dvě vteřiny a zastaví, byl useknutý — obvykle vypršelý odkaz — a stojí za to ho spustit znovu místo si ho ponechat.

Co musí vestavěný webový prohlížeč zvládnout správně

Kromě nalezení média jsou tohle věci, které rozhodují, jestli stahování skutečně dokončí.

  • Přenést relaci až ke stahování

    Cookies, referer a user agent musí cestovat s požadavkem. Bez nich se chráněný odkaz vyřeší na stránce a selže ve stahovači.

  • Držet ty přihlašovací údaje mimo úložiště

    Cookies relace jsou po dobu relace stejně dobré jako heslo. Patří do paměti po dobu přenosu a nikam jinam — ne do databáze, ne do logu.

  • Odmítnout předat odkaz jiné aplikaci

    iOS rád otevře ťuknutý odkaz v jiné aplikaci, pokud si na tu doménu dělá nárok. Webový prohlížeč určený k ukládání médií musí navigaci sám zrušit a znovu vydat, jinak stránka, kterou jsi chtěl, zmizí do cizí aplikace.

  • Ořezat stránku před vykreslením

    Blokovač obsahu tady není jen o reklamě — méně sledovacích prvků a překryvů znamená míň falešných kandidátů v seznamu médií.

  • Zvládat dokumenty stejně jako video

    PDF, ZIP a soubory Office jsou druhá polovina toho, co lidé z webu ukládají, a měly by přistát ve stejné knihovně jako všechno ostatní.

Časté otázky

Proč to Safari neumí samo?

Safari soubory stahuje — umí to od iOS 13. Co neudělá, je prohledat stránku kvůli médiu, které je streamované místo odkazované, nebo poskládat segmentovaný stream do souboru. Je to webový prohlížeč, a tahle práce patří správci stahování.

Co je blob URL a proč to nejde stáhnout?

Je to odkaz na data, která stránka už drží v paměti. Neexistuje mimo tu záložku, takže vložení kamkoli jinam nevytvoří nic. Skutečné médium bylo staženo odněkud reálného, a ta adresa — ne blob — je ta, kterou stojí za to najít.

Stránka se přehrává v pořádku, ale stahování dostane 403. Proč?

Požadavek na stažení dorazil bez toho, co měla stránka: tvou cookie relace, odkazující stránku, občas odpovídající identitu prohlížeče. Servery používají přesně tuto kombinaci k rozlišení diváka od scraperu.

Dá se uložit úplně všechno?

Ne, a je to záměr. Obsah chráněný DRM je šifrovaný klíči vydanými pod licencí, která zakazuje uchování. Některé stránky navíc podepisují každý segment zvlášť krátkodobými tokeny. Obojí funguje podle plánu.

FoxDL

Webový prohlížeč uvnitř FoxDL

Je to normální prohlížeč se záložkami, jehož úkolem je dostat věci do tvé knihovny, ne být tvým každodenním prohlížečem.

  • Šest kanálů detekce, včetně shadow DOM a záznamu toho, co stránka skutečně vyžádala, takže přehrávač postavený celý v JavaScriptu je pořád viditelný.
  • Skutečný typ se zjišťuje z odpovědi místo odhadování z přípony, a kandidáti blob:, které nejde stáhnout, se vyfiltrují místo toho, aby se nabídly a selhaly.
  • Cookies, referer a user agent se přenášejí až ke stahování, takže se chráněný odkaz vyřeší — a žádný z nich se nikdy nezapíše na disk.
  • Blokovač obsahu ořeže stránku před vykreslením.
  • PDF, ZIP a dokumenty se ukládají do stejné knihovny jako média, jedním ťuknutím.
  • Záložky, oblíbené a startovací stránka s vlastními zkratkami.

FoxDL neposkytuje žádný vlastní obsah. Co si uložíš, je to, co jsi přinesl, a je na tobě mít právo si to ponechat.

Časté otázky

Všechny otázky

Číst dál

Tvá knihovna, konečně na jednom místě.

Zdarma ke stažení. Bez účtu a registrace — celá sada je ve free verzi.

Stáhnout na App Store