Browsed by
Tag: http

Web API – message handlers – usage

Web API – message handlers – usage

The delegating handler in WebAPI is the most basic mechanism to intercept HTTP message lifecycle. We can find a very clear and useful visualisation of on WebAPI poster. We can see that message handlers is the first place in HTTP request processing which is able to read of modify the message. It is many cases when we would need to place some code before request will be executed and after. But first, we will introduce how to write that kind of handlers.

Sprawdzanie aktualno艣ci rekordu

Sprawdzanie aktualno艣ci rekordu

Gdy klient posiada dany zas贸b w cache鈥檜, a nast臋pnie wykonuje zapytanie o ten sam zas贸b, konieczne jest sprawdzenie jego aktualno艣ci. Jest to wykonywane za pomoc膮 zapyta艅 warunkowych. Polegaj膮 one na wys艂aniu pytania o zas贸b, jednak zas贸b ten zostanie przes艂any z powrotem tylko w przypadku spe艂nienia okre艣lonych warunk贸w. W przypadku sprawdzania aktualno艣ci rekordu stosuje si臋 dwa聽podej艣cia: Sprawdzenie po dacie wa偶no艣ci zasobu Sprawdzenie po 鈥瀞umie kontrolnej鈥 zasobu Oba sposoby zostan膮 p贸藕niej szerzej om贸wione. Serwer mo偶e odpowiedzie膰 na takie warunkowe zapytanie na nast臋puj膮ce…

Read More Read More

Angular – KendoUI Grid – How to integrate it properly

Angular – KendoUI Grid – How to integrate it properly

If you want to use both Angular and Kendo UI components sooner or later you will need to integrate this two libraries. The majority of this task is quite easy and well documented (http://demos.telerik.com/kendo-ui/grid/angular), but the tricky part is in integration with Angular $http service (or in Angular factories in general). You can use standard Kendo Grid functionality like: As you can see, you should add some data to each request and also there is custom behaviour when this request…

Read More Read More

Aktualno艣膰 obiektu w cache

Aktualno艣膰 obiektu w cache

Obiekt w cache mo偶emy nazwa膰 aktualnym, je偶eli nie min膮艂 jeszcze jego termin wa偶no艣ci. Czas ten jest liczony od momentu pobrania zasobu do momentu okre艣lonego przez nag艂贸wki takie jak Expires lub Cache-Control. Je偶eli serwer chce spowodowa膰 uniewa偶nienie zachowanego obiektu, powinien on wys艂a膰 dat臋 wa偶no艣ci z przesz艂o艣ci. Dzi臋ki temu podczas najbli偶szego sprawdzania poprawno艣ci lub pobierania zawarto艣ci zasobu zostanie on bezwzgl臋dnie od艣wie偶ony (pobrany ponownie z serwera). Do momentu a偶 minie czas wa偶no艣ci danego obiektu wszelkie 偶膮dania jego pobrania spowoduj膮 skorzystanie z聽zapami臋tanej w聽cache warto艣ci….

Read More Read More

Cache HTTP

Cache HTTP

G艂贸wn膮 metod膮 pracy z u偶yciem HTTP jest pobieranie oraz zapisywanie zasob贸w z serwera. Najcz臋艣ciej odczytujemy informacje, jednak z tym mo偶e wi膮za膰 si臋 pewien problem. Pobieranie tre艣ci z serwera zawsze trwa pewien czas, w szczeg贸lno艣ci, je偶eli potrzebne jest przes艂anie du偶ej ilo艣ci informacji. Mo偶e to powodowa膰 problemy z wydajno艣ci膮 zar贸wno ze strony klienta jak i serwera. Klient musi pobiera膰 wiele r贸偶nych informacji, aby je wykorzysta膰 (np. zaprezentowa膰). Z kolei serwer w przypadku pod艂膮czenia si臋 do niego wielu klient贸w, mo偶e mie膰 problem z…

Read More Read More

Metoda CONNECT

Metoda CONNECT

Za pomoc膮 tego zapytania mo偶na po艂膮czy膰 si臋 do serwera po艣redniego w drodze聽do serwera docelowego. Jest to niezb臋dne, gdy dwa w臋z艂y nie s膮 bezpo艣rednio ze sob膮 powi膮zane (np. istnieje zapora sieciowa). Stwarza to wra偶enie bezpo艣redniego po艂膮czenia. Cz臋sto s膮 one wykorzystywane do tworzenia po艂膮czenia pomi臋dzy adresami, kt贸re s膮 po艂膮czone poprzez jedno lub wiele proxy. Taka komunikacja mo偶e by膰 zabezpieczona za pomoc膮 TLS (metoda聽szyfrowania po艂膮czenia). Wysy艂aj膮c zapytanie CONNECT nale偶y tylko przekaza膰 docelowy adres, do kt贸rego chcemy si臋 po艂膮czy膰. CONNECT example.com:80 HTTP/1.1 Host: example.com:80…

Read More Read More

Metoda TRACE

Metoda TRACE

Metoda ta jest u偶ywana do zdalnego 艣ledzenia wywo艂a艅 wszelkich innych metod HTTP. Zapytanie powinno odwzorowywa膰 badan膮 wiadomo艣膰 z wy艂膮czeniem pewnych wra偶liwych p贸l (np. autoryzacyjnych). Odpowied藕 powinna: mie膰 typ: message/http, odes艂a膰 z powrotem niezmienione, wszystkie nag艂贸wki zapytania, nie odsy艂a膰 tre艣ci wiadomo艣ci doda膰 nag艂贸wek diagnostyczny. Wiadomo艣膰 ta mo偶e zosta膰 wys艂ana zar贸wno do adresata, jak i serwer贸w po艣rednich (np. proxy). Z tego te偶 powodu, nie powinny by膰 za jej po艣rednictwem przesy艂ane聽偶adne wra偶liwe informacje w nag艂贸wkach zapytania (takiej jak ciasteczka lub dane autoryzacyjne). TRACE…

Read More Read More

Metoda DELETE

Metoda DELETE

Metoda DELETE oznacza 偶膮danie skasowania adresu URL, do kt贸rego odwo艂ujemy si臋 w zapytaniu. Nie musi to oznacza膰 skasowania zasobu (cho膰 mo偶e), ale musi si臋 wi膮za膰 z dezaktywacj膮 adresu URL do niego prowadz膮cego. Zas贸b nie musi by膰 kasowany, gdy jest wskazywany r贸wnie偶 przez inne adresy. Metoda DELETE jest najcz臋艣ciej u偶ywana w po艂膮czeniu z PUT z uwagi na to, 偶e operuj膮 one na unikalnym adresie, kt贸ry identyfikuje u偶ywany przez nas zas贸b. Je偶eli operacja kasowania odno艣nika powiedzie si臋, powinien zosta膰 zwr贸cony rezultat 202…

Read More Read More

Metoda PUT

Metoda PUT

Metoda PUT s艂u偶y do zachowania obiektu przekazywanego w tre艣ci zapytania pod wskazanym adresem URL. W przypadku gdy pod tym adresem istnia艂 ju偶 zas贸b, powinien on zosta膰 nadpisany. Zwracany jest wtedy rezultat 200 (OK) lub 204 (No Content), gdy nast膮pi艂o nadpisanie pustym zbiorem. Je偶eli zas贸b nie istnia艂, to powinien zosta膰 utworzony pod podanym adresem. Zwracany jest wtedy rezultat 201 (Created) PUT /article/1234 HTTP/1.1 PUT /article/1234 HTTP/1.1 { “color”: “red” } Gdy metoda PUT zako艅czy si臋 powodzeniem, wykonanie metody GET dla tego…

Read More Read More

Metoda HEAD

Metoda HEAD

Metoda HEAD dzia艂a tak samo jak metoda GET. Nie zwraca ona jednak tre艣ci wiadomo艣ci, a jedynie nag艂贸wki. Powinny one by膰 identyczne z tymi zwracanymi przez metod臋 GET o takich samych parametrach. Jedynym wyj膮tkiem s膮 nag艂贸wki m贸wi膮ce o tre艣ci wiadomo艣ci takie jak: Content-Length, Content-Range, kt贸re mog膮 nie wyst膮pi膰 w odpowiedzi w metodzie HEAD. Metoda GET Request Response GET /admin HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK Date: Mon, 18 Aug 2012 22:44:11 GMT Content-Type: text/html Content-Length: 123<html> … </html> Metoda HEAD Request…

Read More Read More