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’u, 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 „sumie 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