Resurssit · 63

HTTP-välimuisti: suojaa mukautettuja vastauksia

Erota jaetut, yksityiset ja sovellusvälimuistit, tarkista avaimet, uudelleenvahvistus ja mitätöinti käyttöoikeuksien muutosten jälkeen.

Päivitetty · 2 min

Mitä tämä opas auttaa saavuttamaan

  • Varastotasot
  • Säilytyksen valinta
  • Avainten tarkastus
  • Harjoitus uudelleenvalidointi ja muutos

Pikatarkistus

  • Tarkoittaako välimuistin puuttuminen, että mitään ei säilytetä?
  • Suojaako Vary käyttöoikeuksia?
  • Pitäisikö jokainen API tallentaa välimuistiin?

Vaiheittainen menetelmä

  1. 1

    Varastotasot

    Listaa selaimen, CDN:n, välityspalvelimen, palvelutyöntekijän ja sovelluksen välimuistit. Luokittele julkiset ja personoidut vastaukset. HTTP-käytäntö ei automaattisesti kuvaa koodissa toteutettua välimuistia.

    Toimitettava: tasot ja omistajat -kaavio.

  2. 2

    Säilytyksen valinta

    RFC 9111 erottaa direktiivit: välimuistin puuttuminen vaatii validoinnin ennen uudelleenkäyttöä, tallennuskielto estää asiaankuuluvan HTTP-tallennuksen ja määrittelemätön yksityinen sulkee pois jaetun tallennuksen. Mikään yksinään ei takaa järjestelmän luottamuksellisuutta.

    Toimitettava: säilytyskäytäntö vastauksen mukaan.

  3. 3

    Avainten tarkastus

    Tarkista menetelmä, URI ja ulottuvuudet, jotka muuttavat esitystä. Vaihtelee pyyntökenttien osalta; se ei ole valtuutusta. Etsi puuttuvaa kieltä, muotoneuvottelua ja tilin kontekstia sovelluskerroksissa.

    Toimitus: avaimet ja erottelutestit.

  4. 4

    Harjoitus uudelleenvalidointi ja muutos

    Testaa uusia ja vanhentuneita vastauksia, datapäivityksiä ja peruutettuja oikeuksia. Tarkista ETag, ehdollinen validointi ja alkuperän saatavuushäiriö. Aiemmin oikeasta vastauksesta voi tulla arkaluontoinen peruutuksen jälkeen.

    Toimitettava: ennen ja jälkeen -jäljet.

  5. 5

    Toisto kahdella tilillä.

    Käytä kuvitteellisia identiteettejä ja merkkejä. Vaihtoehtoiset pyynnöt samaan URI:in lämpimien ja kylmien välimuistien avulla. Tarkista uloskirjautuminen, suorat linkit ja lokikirjaus tallentamatta oikeita tokeneita.

    Toimitettava: negatiiviset testit ja mitätöintistrategia.

Uudelleenkäytettävä laskentataulukko

Täytä valtuutetut havaintosi. Nämä kentät ovat työskentelymalli, eivät havaittuja tuloksia.

KenttäKirjattavat tiedot
VastausJulkinen vai personoitu; ulottuvuudet
KerrosVälimuisti, omistaja ja avain
KäytäntöSäilytys, tuoreus ja validointi
KokeiluKuvitteellinen tili, muutos ja havainnointi

Kuvitteellinen esimerkki

Havainnollistava tilanne

Kuvitteellinen esimerkki: CDN käyttää profiilivastausta uudelleen samalla URI:lla kahdelle testitilille.

Päätös ja odotettu näyttö

Skenaario havaitsee vuodon, tutkii käytäntöä ja avaimia ja toistaa sitten korjauksen ja käyttöoikeuden peruuttamisen jälkeen.

Mekanismien erottaminen

MekanismiTarkoitusVahvistus tai rajoitus
ei välimuistiaSalli tallennus vaaditulla validoinnillaÄlä lue sitä ei-tallennustilana
Määrittelemätön yksityinenSulje pois jaettu välimuistiÄlä lue sitä luottamuksellisuustakuuna
ei tallennustilaaEstä asiaankuuluva HTTP-tallennustilaTarkista sovellusvälimuistit ja historia erikseen

Johdon indikaattorit

IndikaattoriMitä se mittaaEnsimmäinen toimenpide
Tilien erotteluEi merkintää toiselta tililtäTarkista runko, linkit ja metatiedot
Ikä ja validointiUudelleenkäyttö käytäntöjen mukaisestiTestin vanheneminen ja ei-käytettävä alkuperä
MitätöintiviiveAika korjattuun esitykseenNimeä jokainen kerros, jos se on edelleen vanhentunut

Yleisiä virheitä

  • Älä lue sitä ei-tallennustilana
  • Älä lue sitä luottamuksellisuustakuuna
  • Tarkista sovellusvälimuistit ja historia erikseen

Usein kysytyt kysymykset

Tarkoittaako välimuistin puuttuminen, että mitään ei säilytetä?

Ei. Se vaatii validoinnin ennen uudelleenkäyttöä; se ei estä tallennusta kuten ei-tallennustila.

Suojaako Vary käyttöoikeuksia?

Ei. Se osallistuu esityksen valintaan; valtuutus pysyy erillisenä.

Pitäisikö jokainen API tallentaa välimuistiin?

Ei. Hyödyt riippuvat kustannuksista, tuoreudesta ja riskistä. Arkaluontoiset vastaukset voivat oikeuttaa jaettujen välimuistien välttämisen.

Viralliset viitteet

Viitteet tukevat menetelmää. Sovita tarkastukset kontekstiisi; ne eivät ole sertifiointia. Alkuperäiset viitteiden otsikot ja lähdeasiakirjat voivat olla toisella kielellä.

Lähteet tarkistettu .