Pelayar web

Apa yang perlu berlaku sebelum halaman web memberikan anda failnya

Anda boleh melihat video itu. Ia sedang dimainkan, di situ juga, dalam pelayar web. Jadi kenapa tiada cara untuk menyimpannya? Jawapannya ialah halaman web jarang menyerahkan fail — ia menyerahkan arahan, dan fail yang dibina oleh pelayar daripada arahan itu mungkin langsung tidak wujud sebagai satu benda tunggal.

6 min baca Dikemas kini 29 Julai 2026

FoxDL

Empat cara halaman menyampaikan video, hanya satu adalah fail

Yang paling lama dan paling ringkas ialah fail terus: halaman menunjuk kepada alamat yang berakhir dengan .mp4 dan pelayar mengambilnya. Jika anda boleh cari alamat itu, fail itu milik anda. Ini masih cara kebanyakan laman kecil, forum, portal berita dan hos fail beroperasi.

Yang kedua ialah penstriman adaptif — HLS atau DASH. Halaman memuatkan senarai main yang menyenaraikan ratusan segmen pendek pada beberapa tahap kualiti, dan pemain menjahitnya sambil berjalan, menukar kualiti apabila sambungan anda berubah. Tiada satu fail tunggal untuk dijumpai. Menyimpannya bermakna mengambil setiap segmen dan membina semula satu fail daripadanya.

Yang ketiga ialah URL blob. Halaman sudah mengambil data itu dengan JavaScript dan menyerahkan pemain rujukan kepada sesuatu yang hidup dalam memori pelayar itu sendiri. Alamat yang anda nampak (blob:https://…) tidak bermakna apa-apa di luar halaman dan sesi itu — ia tidak boleh dibuka, dikongsi atau dimuat turun, dan ini menjatuhkan kebanyakan "pencari video" yang naif.

Yang keempat ialah kandungan dilindungi: segmen disulitkan dimainkan melalui sistem DRM, di mana kunci penyahsulitan dikeluarkan kepada pelayar di bawah syarat yang secara nyata melarang penyimpanan salinan. Ini bukan halangan untuk dipintasi; ia adalah mekanisme yang menjadi asas perjanjian lesen, dan tiada alat yang sah dapat mengatasinya.

Bagaimana pelayar web menyedari ada sesuatu untuk disimpan

Pelayar web dalam aplikasi yang menawarkan untuk menyimpan apa yang dijumpainya sebenarnya melakukan beberapa kerja serentak. Setiap satu menangkap kes yang terlepas oleh yang lain.

Membaca elemen media halaman
Menyusuri dokumen untuk tag <video>, <audio> dan <source> serta membaca alamatnya. Menangkap kes fail terus dengan segera, terlepas segala yang dibina oleh JavaScript selepas halaman dimuatkan.
Melihat ke dalam shadow DOM
Pemain moden adalah elemen tersuai yang bahagian dalamannya sengaja diasingkan daripada halaman. Carian yang berhenti pada dokumen biasa hanya melihat kotak kosong di tempat video itu berada.
Memerhati apa yang sebenarnya diminta oleh halaman
Pelayar tahu setiap sumber yang diambil oleh halaman. Fail media yang dimuatkan — tidak kira skrip mana yang memintanya, atau bila — muncul di sini walaupun tiada apa dalam halaman yang kelihatan menunjuk kepadanya.
Mengesan jenis respons
URL yang berakhir dengan .php boleh memulangkan video, dan URL yang berakhir dengan .mp4 boleh memulangkan halaman ralat. Content-Type yang sebenarnya dihantar oleh pelayan itulah yang memberitahu anda yang mana satu — sambungan nama fail hanyalah tekaan.

Bagaimana rupanya apabila menyimpan daripada halaman berjaya

Susunan penting. Kebanyakan kegagalan berpunca daripada melangkau langkah kedua dan memulakan pemindahan empat gigabait bagi halaman log masuk.

  1. Mainkan media itu selama sesaat dahulu

    Banyak halaman tidak memuatkan apa-apa sehingga tontonan bermula. Dua saat main selalunya perbezaan antara senarai calon yang kosong dan senarai yang lengkap.

  2. Semak apa sebenarnya calon itu

    Sebelum meneruskan, lihat saiz dan jenis yang dilaporkan. "Filem" bersaiz 14 KB adalah halaman HTML. Jenis text/html sedangkan anda menjangka video/mp4 bermakna anda mempunyai pautan yang salah.

  3. Pilih kualiti yang anda mahu

    Strim biasanya menawarkan beberapa pilihan. Yang tertinggi bukan selalu jawapan yang tepat pada telefon, di mana perbezaannya tidak kelihatan tetapi storannya tetap dihabiskan.

  4. Bawa sesi itu bersama

    Pautan dilindungi menyemak siapa yang bertanya: kuki daripada sesi log masuk anda, halaman yang merujuk anda, kadangkala identiti pelayar. Muat turun yang dimulakan tanpa perkara ini mendapat 403 walaupun halaman itu dimainkan dengan lancar.

  5. Sahkan apa yang mendarat

    Bukanya. Fail yang dimainkan selama dua saat dan berhenti telah dipotong — biasanya kerana pautan tamat tempoh — dan lebih baik mula semula daripada disimpan.

Apa yang perlu dilakukan dengan betul oleh pelayar web dalam aplikasi

Selain mencari media, inilah perkara yang menentukan sama ada muat turun benar-benar selesai.

  • Bawa sesi terus ke muat turun

    Kuki, referer dan agen pengguna mesti dibawa bersama permintaan. Tanpanya pautan dilindungi terbuka pada halaman tetapi gagal pada pemuat turun.

  • Simpan kelayakan itu di luar storan

    Kuki sesi seampuh kata laluan sepanjang tempoh sesi itu. Ia patut berada dalam memori sepanjang tempoh pemindahan dan tiada di mana-mana lagi — bukan dalam pangkalan data, bukan dalam log.

  • Enggan menyerahkan pautan kepada aplikasi lain

    iOS dengan senang hati akan membuka pautan yang diketik dalam aplikasi lain jika ia mendakwa memiliki domain itu. Pelayar web yang dibina untuk menyimpan media perlu membatalkan dan memulakan semula navigasi itu sendiri, jika tidak halaman yang anda mahu akan hilang ke dalam aplikasi orang lain.

  • Kemaskan halaman sebelum ia dipaparkan

    Penyekat kandungan di sini bukan sekadar tentang pengiklanan — kurang penjejak dan lapisan bermakna kurang calon palsu dalam senarai media.

  • Kendalikan dokumen sama seperti video

    PDF, ZIP dan fail Office adalah separuh lagi daripada apa yang orang simpan daripada web, dan ia patut mendarat dalam koleksi yang sama seperti segala-galanya.

Soalan yang ditanya orang

Kenapa Safari tidak boleh melakukan ini dengan sendirinya?

Safari memang memuat turun fail — sejak iOS 13. Apa yang tidak dilakukannya ialah memeriksa halaman untuk media yang distrim dan bukan dipautkan, atau membina semula strim bersegmen menjadi satu fail. Ia adalah pelayar web, dan kerja itu adalah kerja pengurus muat turun.

Apakah URL blob dan kenapa saya tidak boleh memuat turunnya?

Ia adalah pemegang kepada data yang sudah dipegang oleh halaman dalam memori. Ia tidak wujud di luar tab itu, jadi menampalnya di mana-mana sahaja tidak menghasilkan apa-apa. Media asas telah diambil daripada tempat sebenar, dan alamat itu — bukan blob — yang bernilai untuk dicari.

Halaman dimainkan dengan lancar tetapi muat turun mendapat 403. Kenapa?

Permintaan muat turun tiba tanpa perkara yang dimiliki oleh halaman: kuki sesi anda, halaman yang merujuk, kadangkala identiti pelayar yang sepadan. Pelayan menggunakan kombinasi itu tepat untuk membezakan penonton daripada pengikis.

Bolehkah segala-galanya disimpan?

Tidak, dan itu memang sengaja. Kandungan yang dilindungi dengan DRM disulitkan dengan kunci yang dikeluarkan di bawah lesen yang melarang penyimpanan. Sesetengah laman juga menandatangani setiap segmen secara berasingan dengan token berjangka pendek. Kedua-duanya berfungsi seperti yang dirancang.

FoxDL

Pelayar web dalam FoxDL

Ia adalah pelayar web bertab biasa yang tugasnya adalah memasukkan sesuatu ke dalam koleksi anda dan bukan menjadi pelayar harian anda.

  • Enam saluran pengesanan, termasuk shadow DOM dan rekod apa yang sebenarnya diminta oleh halaman, jadi pemain yang dibina sepenuhnya dengan JavaScript tetap kelihatan.
  • Jenis sebenar dikesan daripada respons dan bukan ditekakan daripada sambungan nama fail, dan calon blob: yang tidak boleh diambil ditapis keluar dan bukan ditawarkan lalu gagal.
  • Kuki, referer dan agen pengguna dibawa terus kepada muat turun supaya pautan dilindungi terbuka — dan tiada satu pun daripadanya pernah ditulis ke cakera.
  • Penyekat kandungan mengemaskan halaman sebelum ia dipaparkan.
  • PDF, ZIP dan dokumen disimpan ke dalam koleksi yang sama seperti media, dengan satu ketikan.
  • Tab, penanda halaman dan halaman permulaan daripada pintasan anda sendiri.

FoxDL tidak menyediakan sebarang kandungannya sendiri. Apa yang anda simpan adalah apa yang anda bawa sendiri, dan anda bertanggungjawab untuk mempunyai hak untuk menyimpannya.

Soalan lazim

Semua soalan

Teruskan membaca

Koleksi anda, akhirnya dalam satu tempat.

Muat turun percuma. Tiada akaun, tiada daftar — set penuh dalam versi percuma.

Muat turun di App Store