Żądania HTTP
Pierwszy wiersz żądania określa działanie, jakie ma zostać wykonane przez serwer. Wiersz ten składa się z metody żądania, ścieżki, na której można wykonać czynność, oraz wersji protokołu HTTP, która będzie używana. Na przykład żądanie pobrania strony HTML najwyższego poziomu może wyglądać następująco:
GET /index.html HTTP/1.1
Tabela 19.1 przedstawia powszechnie stosowane metody żądań HTTP. Metody oznaczone jako „bezpieczne” nie powinny zmieniać stanu serwera. Jest to jednak bardziej konwencja niż wymóg. Ostateczna decyzja co do sposobu interpretacji metody należy do oprogramowania, które obsługuje żądanie.

GET jest zdecydowanie najczęściej używaną metodą HTTP, drugą w kolejności jest POST. W API interfejsu REST, które omówimy w podrozdziale 19.2, częściej używa się bardziej egzotycznych metod, takich jak PUT i DELETE.

Odpowiedzi HTTP
Początkowy wiersz odpowiedzi, zwany wierszem statusu, wskazuje dyspozycję żądania. Wygląda to następująco:
HTTP/1.1 200 OK
Ważną częścią jest tu trzycyfrowy numeryczny kod odpowiedzi. Sformułowanie, które następuje po nim, jest pomocnym tłumaczeniem tego kodu na język angielski, ignorowanym przez oprogramowanie. Pierwsza cyfra kodu określa jego klasę, czyli ogólny rodzaj wyniku. Tabela 19.2 przedstawia pięć zdefiniowanych klas. W ramach danej klasy kolejne dwie cyfry określają dodatkowe szczegóły. Zdefiniowano ponad 60 kodów odpowiedzi, ale powszechnie stosuje się tylko kilka z nich.

Nagłówki i treść wiadomości
Nagłówki określają metadane dotyczące zapytania lub odpowiedzi, np. czy zezwolić na kompresję, jakie rodzaje treści są akceptowane, oczekiwane bądź dostarczane oraz w jaki sposób dane mają być obsługiwane przez pamięć podręczną. W przypadku zapytań jedynym wymaganym nagłówkiem jest Host, używany przez oprogramowanie serwera WWW do określenia, z którą witryną się kontaktujemy. Tabela 19.3 przedstawia niektóre powszechnie stosowane nagłówki. Tabela 19.3 w żadnym razie nie jest wyczerpującą listą. W rzeczywistości obie strony transakcji mogą umieszczać dowolne nagłówki oraz muszą ignorować nagłówki, których nie rozumieją. Nagłówki są oddzielone od treści wiadomości pustym wierszem. W przypadku zapytań treść może zawierać parametry (dla zapytań POST lub PUT) albo zawartość pliku do przesłania. W przypadku odpowiedzi treść wiadomości jest żądanym zasobem (np. plikiem HTML, obrazem lub wynikami wyszukiwania). Treść wiadomości nie musi być czytelna dla człowieka, ponieważ może zawierać obrazy albo inne dane binarne. Może być również pusta, jak w przypadku żądań GET lub większości odpowiedzi sygnalizujących błędy.

Problemy związane z buforowaniem
Buforowanie jest niezwykle ważne dla wydajności sieci WWW, ale jednocześnie powoduje pewne komplikacje. Wystąpienie problemu w dowolnej warstwie buforowania może skutkować wprowadzeniem nieaktualnej treści w stosunku do serwera źródłowego. Problemy z pamięcią podręczną mogą utrudniać pracę zarówno użytkownikom, jak i administratorom; czasami są one trudne do wykrycia. Nieaktualne treści w pamięci podręcznej najlepiej wykrywać za pomocą bezpośrednich zapytań na każdym etapie ścieżki. Jeśli jesteś operatorem witryny, spróbuj użyć narzędzia curl, aby wysłać żądanie dostarczenia problematycznej strony bezpośrednio z serwera źródłowego, następnie z odwrotnego serwera pośredniczącego i — jeśli to możliwe — z bufora serwera pośredniczącego oraz wszystkich innych buforów na ścieżce żądania. Możesz użyć polecenia curl -H "Cache-Control: no-cache", aby poprosić o odświe- żenie pamięci podręcznej10. Bufory zgodne z wymogami dostosują się do tego. Jeśli jednak nadal widzisz stare dane, nie zakładaj, że Twoja prośba o przeładowanie została spełniona,chyba że możesz to udowodnić na serwerze.

Źródło: Unix i linux przewodnik administratora – V Evi Nemeth Snyder Trent R Hein Ben Whal

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here