Browsed by
Month: December 2015

Handling images WebAPI (+examples)

Handling images WebAPI (+examples)

WebAPI is used to serve data from server. One time of data could be images. In this post I will show how to write WebAPI methods operating on images data. So at first we must decide where we want to store our images. Let’s suppose, that we have database that store our application data. We have 2 possibilities: to store images in files or directly in database. This two approaches has following adventages: files easy to test fast requires additional…

Read More Read More

Interceptor in Angular

Interceptor in Angular

$http service This service is an Angular method for making HTTP request for external resources. All HTTP requests has an asynchronous nature. Because of that, all operations return promises. Generally, this service could be used by defining parameters directly, like below or by using shortcut methods Interceptor in Angular The same as in previous post about interceptor in Angular you can also setup global mechanism to intercept each HTTP request. It can be useful for error handling, logging or authentication….

Read More Read More

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…

Read More Read More

Cache oparty na czasie

Cache oparty na czasie

Walidatory Wyróżniamy 2 rodzaje walidatorów zasobów: silne – występują wtedy, gdy każda zmiana zawartości zasobu powoduje wykrycie zmiany w walidatorze słabe – gdy wykrywanie zmian w walidatorze opiera się na danych niezależnych od wartości zasobu (np. na informacjach o czasie) Zgodnie z powyższą definicja wyróżniamy dwa rodzaje cache’a: Cache oparty na czasie Polega on na tym, że przechowywany zasób może być używany tylko przez zdefiniowany czas. Do tego celu używany jest nagłówek: Last-Modified, który wskazuje na datę ostatniej modyfikacji zasobu….

Read More Read More

Nagłówki cache

Nagłówki cache

Age W przypadku, gdy jako wynik zapytania jest zwracany zasób przechowywany w cache, nagłówek ten mówi nam, ile czasu (w sekundach) minęło od pobrania treści rekordu. Cache-Control Jest on stosowany do sterowania zachowaniem cache. Może posiadać niżej wymienione parametry: max-age – wskazuje jak długi czas życia (w sekundach) przechowywanego zasobu jest akceptowalny; może być używany zarówno w zapytaniach jak i odpowiedziach. Ustawienie max-age: 0 powoduje, że zasób jest dynamiczny i nie podlega cache’owaniu. Jednak nie powinniśmy tego nadużywać, bo dla…

Read More Read More