Puncte:0

Stabilirea dacă sunt necesare modificări de configurare a lacului după adăugarea a 3 cookie-uri noi

drapel mx
# Păstrați toate aceste cookie-uri
dacă (req.http.Cookie) {
  setați req.http.Cookie = ";" + req.http.Cookie;
  setați req.http.Cookie = regsuball(req.http.Cookie, "; +", ";");
  set req.http.Cookie = regsuball(req.http.Cookie, ";(location|usertype|viewed-products)=", "; \1=");
  set req.http.Cookie = regsuball(req.http.Cookie, ";[^ ][^;]*", "");
  setați req.http.Cookie = regsuball(req.http.Cookie, "^[; ]+|[; ]+$", "");

  dacă (req.http.Cookie == "") {
    unset req.http.Cookie;
  }
}

Am această configurație de lac și am adăugat 3 cookie-uri noi, așa că trebuie să schimb ceva? Din punctul meu de vedere, chiar dacă am adăugat 3 cookie-uri noi, singurele cookie-uri care vor fi folosite pentru a determina ce valori stocate în cache veți primi de la lac sunt determinate exclusiv de cele pe care le păstrați în configurații, deci vor fi determinate de locație. , tip de utilizator și produse vizualizate. Deoarece avem doar 2 locații, 3 tipuri de utilizatori și 3 produse, nu putem avea mai mult de 332 18 valori cache diferite. Am dreptate?

Puncte:0
drapel in

Aveți dreptate, adăugarea de module cookie noi care nu sunt necesare pentru stocarea în cache nu va afecta configurația dvs. VCL.

Ieșire vernislog

Când aveți îndoieli, utilizați vernislog. Iată o comandă pe care o puteți folosi pentru a monitoriza comportamentul cookie-urilor:

varnishlog -g request -i ReqUrl -I ReqUnset:Cookie -I ReqHeader:Cookie

Această comandă va afișa numai adresa URL a cererii și diferitele linii de jurnal în care sunt setate și dezactivate valorile cookie-urilor.

Imaginează-ți că trimiți următoarea solicitare HTTP către serverul tău Varnish:

curl -H „Cookie: foo=bar; location=test” http://localhost

Această solicitare trimite 2 cookie-uri către Varnish:

  • Necunoscutul foo cookie care ar trebui să fie eliminat
  • The Locație cookie care se presupune a fi păstrat

Iată rezultatul de înregistrare:

* << Solicitare >> 132325
- ReqURL /
- ReqHeader Cookie: foo=bar; locație=test
- ReqUnset Cookie: foo=bar; locație=test
- ReqHeader Cookie: ;foo=bar; locație=test
- ReqUnset Cookie: ;foo=bar; locație=test
- ReqHeader Cookie: ;foo=bar;location=test
- ReqUnset Cookie: ;foo=bar;location=test
- ReqHeader Cookie: ;foo=bar; locație=test
- ReqUnset Cookie: ;foo=bar; locație=test
- ReqHeader Cookie: ; locație=test
- ReqUnset Cookie: ; locație=test
- ReqHeader Cookie: locație=test

După cum puteți vedea, foo cookie-ul este frumos dezbrăcat în timp ce Locație cookie-ul este păstrat.

Controlul variațiilor de cache

Văd că încerci să ții sub control cantitatea de variații de cache, ceea ce are sens.

Problema este că cererile rău intenționate pot crea variații nedorite ale memoriei cache.

Dacă cantitatea de valori per cookie este atât de limitată, am sugerat să le includ în logica de variație a memoriei cache.

Utilizați valorile cookie-urilor din dvs vcl_hash logica pentru asta? Sau folosesti Variază: Cookie pentru asta?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.