Zapytania warunkowe oparte na sumach kontrolnych

Zapytania warunkowe oparte na sumach kontrolnych

W tym przypadku stawiane warunki są oparte na pewnym kluczu dla zasobu. Powinien on być silnym walidatorem, a więc zmieniać się za każdym razem, gdy zasób ulegnie zmianie.

Definiuje się go za pomocą nagłówka ETag:

Response
Cache-Control:public, max-age=31536000
ETag: "15f0fff99ed5aae4edffdd6496d7131f"

Gdy klient chce ponownie pobrać dany zasób, informuje serwer o ETagu aktualnie przechowywanym w cache’u. Gdy ten się zmieni należy ponownie przesłać treść zasobu.

Request
If-None-Match: "15f0fff99ed5aae4edffdd6496d7131f"

W tym przypadku istnieją 3 użyteczne nagłówki:

  • If-Match – używane do warunkowego wykonywania zapytań modyfikujących dane dla upewnienia się, że rekord się nie zmienił,
  • If-None-Match – używane do warunkowego pobierania zasobu, gdy przechowujemy go już w cache (patrz przykład wyżej),
  • If-Range – pozwala pobrać pewien zakres zasobu (w połączeniu z nagłówkiem Range), jednak tylko gdy jego przechowywana wersja jest nadal aktualna. Ten nagówkek współpracuje zarówno z datą jak i ETagiem.

 

 

Sign up for free end-to-end testing training

Learn how to create end-to-end tests for your applications from the beginning to mobile testing
Name
Email address

GET YOUR EMAIL UPDATES

Get great contents delivered straight to your inbox everyday, just a click away, Sign Up Now.
Name
Email address