Penerusan paket, cache, dan penerbitan ulang tampak sama di dasbor dan berperilaku sangat berbeda begitu pertanyaan hak muncul. Layanan yang memindahkan byte antara pengguna dan server melakukan satu tindakan, sedangkan layanan yang menyimpan respons dan memberikannya kepada pengunjung berikutnya melakukan tindakan lain. Menerbitkan materi orang lain atas nama Anda sendiri adalah yang ketiga, dan hanya tindakan ketiga itu yang merupakan distribusi dalam arti biasa.

Tentukan mana dari ketiga tindakan itu yang benar-benar dilakukan tumpukan Anda, lalu pasangkan aturan yang sesuai. Label produk tidak menentukan apa pun di sini, dan protokol yang dipakai juga bukan ukurannya.

Tiga tindakan yang dapat dilakukan proxy atau VPN

Gateway menerima aliran TCP, menulis ulang alamat, dan meneruskan segmen ke kedua arah. Tidak ada yang bertahan dari koneksi di disk, dan muatan tetap buram bagi gateway kecuali klien menegosiasikan TLS dengan gateway, bukan dengan asal.

Perantara cache bekerja berbeda: ia mengurai permintaan, menyimpan respons selama masa hidup yang dihitungnya atau dibacanya dari header, lalu memutar ulang objek tersimpan itu kepada klien berikutnya. Sesuatu kini ada di luar kabel, dikunci berdasarkan URL dan validator, dan penyimpanannya adalah pilihan konfigurasi, bukan efek samping.

Penerbitan ulang melangkah lebih jauh. Materi berada pada infrastruktur yang Anda kendalikan, ditujukan kepada audiens yang Anda pilih, sering kali setelah penyuntingan. Dua tindakan pertama menggambarkan pengangkutan, sedangkan yang ketiga menggambarkan distribusi.

TindakanApa yang ada sesudahnyaPertanyaan yang menentukan hasilnya
Membawa aliranStatus terjemahan dan buffer yang bertahan beberapa detikKetentuan perantara mana yang mencakup transmisi sementara?
Menyimpan responsObjek plus metadata kesegaran dan validatorApakah penyimpanan dan pemutaran ulang diizinkan, dan sampai kapan?
Menyajikan karya di bawah URL AndaSalinan terbitan yang ditujukan kepada audiens baruIzin apa yang mencakup distribusi kepada audiens itu?

Di mana proxy yang mendekripsi mengubah pengangkutan menjadi penyalinan

Pembedaan yang menentukan sebagian besar perdebatan adalah apakah kotak itu pernah memegang teks polos. Terowongan murni, entah WireGuard, perangkat OpenVPN tun atau penerusan SSH -L, memindahkan teks terenkripsi antara titik akhir dan tidak meninggalkan apa pun yang terbaca. Proxy yang mengakhiri TLS melakukan sebaliknya: menyelesaikan jabat tangan, menyangga respons di memori, lalu mengenkripsi ulang aliran ke arah klien. Di antara operasi itu karya berada dalam bentuk yang dapat diperiksa dan disimpan operator.

17 USC 106 mencantumkan penggandaan dan distribusi di antara hak eksklusif, masing-masing tunduk pada pembatasan dalam judul yang sama. Buffer satu milidetik mungkin masuk ke dalam pembatasan tanpa perdebatan; objek tersimpan yang dapat diputar ulang jauh lebih sulit ditempatkan di sana. Durasi dan tujuan lebih berbobot daripada fakta bahwa memori sama sekali disentuh.

Tak satu pun dari itu menjadikan VPN sebagai lisensi, dan tak satu pun menjadikan setiap proxy pelanggar. Pengangkutan adalah satu fakta di antara beberapa, dan pertanyaan yang dapat dinilai tetap sama: tindakan apa, atas materi siapa, di bawah izin apa.

Header cache menggambarkan izin protokol, bukan izin hukum

Cache HTTP memutuskan apa yang boleh disimpannya dari metadata respons, dan RFC 9111 menetapkan aturan yang diikutinya. Cache-Control: no-store memberi tahu setiap cache yang patuh untuk membuang respons, sedangkan private membatasi penggunaan ulang pada satu pengguna dan max-age yang panjang mengundang penyimpanan bersama. Satu permintaan memberi tahu Anda kebijakan mana yang dipilih asal. Jalankan sebelum Anda berdebat tentang hal lain.

curl -sI https://origin.example/media/report.pdf | grep -i -E 'cache-control|etag|age'

Respons yang mengiklankan masa hidup panjang memberi tahu cache bahwa pemutaran ulang dapat diterima pada tingkat protokol. Pernyataan itu tidak mengatakan apa pun tentang apakah Anda boleh mengambil objek yang sama, meng-host-nya ulang, dan memasukkannya ke layanan Anda sendiri. Dua izin berbeda datang dari dua mekanisme berbeda, dan memenuhi yang satu membiarkan yang lain tepat di tempatnya.

Kasus cermin gagal dengan cara yang sama. HTTPS ujung ke ujung mencegah cache transparan menyimpan apa pun, tetapi hasil itu tidak menciptakan hak untuk mendistribusikan materi tersebut maupun mencabut hak yang sudah Anda miliki. Perilaku protokol menjelaskan apa yang dapat dilakukan sebuah kotak; ia tidak pernah memberikan otorisasi.

Apa yang perlu ditulis sebelum layanan diluncurkan

Gambarkan pengaturan itu dengan istilah yang dapat diperiksa orang luar. Sebutkan materi dan sumbernya, daftar tindakan yang dilakukan sistem, dan nyatakan berapa lama setiap objek tersimpan hidup.

Simpan deskripsi itu bersama penerapan, bukan di ingatan seseorang. Ketika keluhan datang, jarak antara posisi yang dapat dipertahankan dan dugaan biasanya adalah paragraf yang ditulis berbulan-bulan sebelumnya yang menyebutkan masa penyimpanan dan lisensi.

Daftar tinjauan singkat mencakup celah yang berulang:

  • Sumber materi dan ketentuan yang melekat padanya.
  • Setiap tindakan yang dilakukan: teruskan, simpan, sunting, sajikan.
  • Penyimpanan per kelas objek, dalam jam atau hari.
  • Izin atau pembatasan yang diandalkan untuk langkah penyajian.
  • Kontak dan jalur penurunan bagi pemegang hak.

Jalankan daftar itu terhadap konfigurasi yang hidup, bukan diagram arsitektur. Di mana jawabannya tidak ada, celah itulah tugas berikutnya: dapatkan izin untuk tindakan itu atau berhenti melakukannya. Untuk layanan komersial, mintalah seorang pengacara membaca deskripsi tertulis terhadap yurisdiksi tempat Anda melayani, karena deskripsi itulah yang membuat tinjauan itu mungkin. Apa pun yang tidak dapat Anda gambarkan secara tertulis adalah posisi yang tidak dapat Anda pertahankan.

Artikel terkait