Pakettien edelleenlähetys, välimuistiin tallennus ja uudelleenjulkaisu näyttävät hallintapaneelissa samalta ja käyttäytyvät täysin eri tavoin heti, kun oikeuskysymys saapuu. Palvelu, joka siirtää tavuja käyttäjän ja palvelimen välillä, suorittaa yhden teon, kun taas palvelu, joka säilyttää vastauksen ja antaa sen seuraavalle kävijälle, suorittaa toisen. Jonkun muun aineiston julkaiseminen omalla nimelläsi on kolmas, ja vain tuo kolmas teko on jakelua tavallisessa merkityksessä.

Selvitä, minkä noista kolmesta oma teknologiapino todella tekee, ja liitä siihen sopiva sääntö. Tuotetarrat eivät ratkaise tässä mitään, eikä käytössä oleva protokollakaan ole mittari.

Kolme tekoa, joita välityspalvelin tai VPN voi suorittaa

Yhdyskäytävä ottaa vastaan TCP-virran, kirjoittaa osoitteet uudelleen ja välittää segmentit molempiin suuntiin. Mikään ei jää yhteydestä levylle, ja hyötykuorma pysyy yhdyskäytävälle läpinäkymättömänä, ellei asiakas neuvottele TLS:ää yhdyskäytävän eikä alkuperän kanssa.

Välimuistia pitävä välittäjä toimii toisin: se jäsentää pyynnön, tallentaa vastauksen sille laskemansa tai otsakkeista lukemansa elinajan ajaksi ja toistaa tallennetun objektin myöhemmille asiakkaille. Jotain on nyt olemassa verkon ulkopuolella, URL-osoitteella ja validoijalla avaimistettuna, ja sen säilyttäminen on kokoonpanovalinta eikä sivutuote.

Uudelleenjulkaisu menee askeleen pidemmälle. Aineisto on infrastruktuurissa, jota sinä hallitset, sinun valitsemallesi yleisölle osoitettuna, usein muokkaamisen jälkeen. Kaksi ensimmäistä tekoa kuvaavat siirtoa, kun taas kolmas kuvaa jakelua.

TekoMitä sen jälkeen on olemassaKysymys, joka ratkaisee lopputuloksen
Virran kuljettaminenKäännöstila ja puskurit, jotka kestävät sekuntejaMikä välittäjiä koskeva säännös kattaa hetkellisen siirron?
Vastauksen tallentaminenObjekti sekä tuoreuden ja validoijan metatiedotOliko säilyttäminen ja toisto valtuutettu, ja mihin asti?
Teoksen tarjoaminen omalla URL-osoitteellaJulkaistu kopio uudelle yleisölle osoitettunaMikä lupa kattaa jakelun kyseiselle yleisölle?

Missä salauksen purkava välityspalvelin muuttaa kuljetuksen kopioinniksi

Ratkaisevin ero useimmissa väittelyissä on se, pitääkö laatikko koskaan hallussaan selkokielistä sisältöä. Puhdas tunneli, oli se sitten WireGuard, OpenVPN-tun -laite tai SSH:n -L -edelleenlähetys, siirtää salattua tekstiä päiden välillä eikä jätä mitään luettavaa jälkeensä. TLS:n päättävä välityspalvelin tekee päinvastoin: se suorittaa kättelyn loppuun, puskuroi vastauksen muistiin ja salaa virran uudelleen asiakkaan suuntaan. Näiden toimintojen välissä teos on muodossa, jonka operaattori voi tarkastaa ja säilyttää.

17 USC 106 luettelee jäljentämisen ja jakelun yksinoikeuksien joukossa, ja kukin niistä on saman luvun rajoitusten alainen. Millisekunnin puskuri voi mahtua rajoitukseen ilman väittelyä; säilytetty, toistettava objekti on paljon vaikeampi sijoittaa sinne. Kestolla ja tarkoituksella on enemmän painoa kuin sillä, että muistiin ylipäätään koskettiin.

Mikään tuosta ei tee VPN:stä lisenssiä, eikä mikään tee jokaisesta välityspalvelimesta loukkaajaa. Siirto on yksi tosiseikka muiden joukossa, ja arvioitava kysymys pysyy samana: mikä teko, kenen aineistolla, millä luvalla.

Välimuistin otsakkeet kuvaavat protokollan lupaa, eivät oikeudellista lupaa

HTTP-välimuisti päättää vastauksen metatiedoista, mitä se saa tallentaa, ja RFC 9111 asettaa säännöt, joita se noudattaa. Cache-Control: no-store käskee jokaisen yhteensopivan välimuistin hylätä vastauksen, kun taas private rajaa uudelleenkäytön yhteen käyttäjään ja pitkä max-age kutsuu jaettuun tallennukseen. Yksi pyyntö kertoo, minkä käytännön alkuperä valitsi. Aja se ennen kuin väittelet mistään muusta.

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

Vastaus, joka mainostaa pitkää elinaikaa, kertoo välimuisteille, että toisto on protokollatasolla hyväksyttävää. Tämä lausuma ei kerro mitään siitä, saatko ottaa saman objektin, isännöidä sen uudelleen ja liittää sen omaan palveluusi. Kaksi eri lupaa tulee kahdesta eri mekanismista, ja toisen täyttäminen jättää toisen täsmälleen siihen, missä se oli.

Peilikotelo epäonnistuu samalla tavalla. Päästä päähän -HTTPS estää läpinäkyvää välimuistia tallentamasta mitään, mutta tuo tulos ei luo oikeutta jakaa aineistoa eikä poista sitä, joka sinulla jo oli. Protokollan käyttäytyminen selittää, mitä laatikko voi tehdä; se ei koskaan anna valtuutusta.

Mitä kirjoittaa muistiin ennen kuin palvelu otetaan käyttöön

Kuvaile järjestely niin, että ulkopuolinen voi tarkistaa sen. Nimeä aineisto ja sen lähde, luettele toimet, jotka järjestelmä suorittaa, ja kerro, kuinka kauan kukin tallennettu objekti elää.

Pidä tuo kuvaus käyttöönoton yhteydessä, älä jonkun muistissa. Kun valitus saapuu, ero puolustettavan kannan ja arvauksen välillä on yleensä kappale, joka kirjoitettiin kuukausia aiemmin ja jossa nimetään säilytysaika ja lisenssi.

Lyhyt tarkistuslista kattaa toistuvat aukot:

  • Aineiston lähde ja siihen liittyvät ehdot.
  • Jokainen suoritettu teko: välitä, tallenna, muokkaa, tarjoa.
  • Säilytys objektiluokittain, tunteina tai päivinä.
  • Lupa tai rajoitus, johon tarjoamisvaiheessa nojataan.
  • Yhteystieto ja poistamispolku oikeudenhaltijoille.

Aja lista tuotantokokoonpanoa vasten, älä arkkitehtuurikaaviota vasten. Missä vastaus puuttuu, se aukko on seuraava tehtävä: joko hanki lupa teolle tai lopeta sen suorittaminen. Kaupalliselle palvelulle anna lakimiehen lukea kirjallinen kuvaus sitä lainkäyttöaluetta vasten, jossa palvelet, sillä kuvaus tekee tuon tarkistuksen mahdolliseksi. Kaikki, mitä et voi kuvata kirjallisesti, on kanta, jota et voi puolustaa.

Aiheeseen liittyvät artikkelit