Prosto w Sieć

Protokół HTTP nie zmieniał się od lat, aż wreszcie... WebDAV to jego rozszerzenie, które pozwoli m.in. przesyłać pliki na serwer i manipulować tam nimi.

Najprostsze jest najlepsze – ta stara zasada sprawdza się prawie wszędzie. Protokół HTTP, na którym m.in. opiera się działanie WWW, jest jej potwierdzeniem. W specyfikacji HTTP znajdziemy opis czterech prostych metod, które pozwalają na pobieranie z serwera dokumentów (GET), informacji o nich (HEAD) oraz wysyłanie danych z formularzy (PUT i POST). Oczywiście budowa protokołu HTTP na tym się nie kończy, ale cała reszta jest – choć ważnym – tylko uzupełnieniem opisanych poleceń, pozwalających na sprawną komunikację z serwerami WWW. Czy na pewno?

Aby internauci mogli pobierać pliki z naszej witryny, musimy je tam najpierw umieścić. Jeżeli pracujemy na tej samej maszynie, po prostu skopiujemy je do odpowiedniego katalogu. A jeśli nie… Cóż – zawsze pozostaje mechanizm FTP albo na przykład FrontPage Extensions – rozwiązanie wymyślone przez Microsoft dla serwera IIS. Dlaczego jednak nie zwiększyć możliwości protokołu HTTP, by obsługiwał również przesyłanie plików na serwer? Posługując się pewnymi trikami, możemy zrobić to i teraz, ale… No właśnie, gubimy w ten sposób prostotę, uniwersalność i narażamy na szwank bezpieczeństwo.

Skok w bok

Skoro protokołowi HTTP czegoś brakuje, to logicznym krokiem byłoby utworzenie jego kolejnej wersji, zawierającej postulowane zmiany. W tym jednak przypadku zdecydowano się na opracowanie nowego protokołu, kompatybilnego z HTTP i będącego jego rozszerzeniem. Omawiane rozwiązanie nazywa się Web-DAV (Webbased Distributed Authoring and Versioning). W obrębie nowego standardu zdefiniowano sporo niedostępnych wcześniej metod, umożliwiających autorom dokumentów sieciowych wykonywanie wszystkich niezbędnych operacji w sposób spójny, za pośrednictwem jednego narzędzia, medium (czyli Sieci) i protokołu.

Twórcy WebDAV-a zaimplementowali więcej niż tylko, postulowane na początku artykułu, przesyłanie plików na serwer. Autorzy protokołu duże znaczenie przypisali procesowi tworzenia i modyfikacji dokumentów. Zadbano również o możliwość uniwersalnego i szczegółowego opisywania ich właściwości oraz dostęp do tychże informacji. Nie zapomniano także o wymianie informacji pomiędzy autorami (w wypadku grupowej pracy nad projektem) oraz zabezpieczeniu dokumentów podczas jednoczesnej pracy wielu osób nad nimi. Wszystko uzyskano przy tym nad wyraz oszczędnymi środkami – w myśl zasady, że najprostsze jest najlepsze.

A ty kto?

Protokół HTTP umożliwia przekazywanie informacji o dokumencie w postaci tzw. metadanych, wysyłanych bezpośrednio przed samym dokumentem. Najczęściej używane zmienne to słowa kluczowe, opis strony, wykorzystywana strona kodowa, dane autora i data utworzenia/modyfikacji dokumentu. Twórcy rozszerzenia WebDAV doszli do wniosku, iż jest to rozwiązanie mało efektywne i niewystarczające. Liczba metadanych, którymi opisywane są dokumenty przesyłane przez WWW, ciągle wzrasta. Bez względu na to, czy klient owych informacji oczekuje czy też nie, są mu one dostarczane.

Nowy protokół nie wyklucza stosowania dotychczasowych sposobów przekazywania danych. Zaleca jednak użycie nowej metody przechowywania informacji na serwerze. Dane te są składowane w osobnych obiektach, nie w dokumentach, których dotyczą. Dostęp do tych informacji możliwy jest za pomocą nowych metod: PROPFIND i PROPATTACH i z wykorzystaniem XML-a (patrz: ramka następnej stronie). Pierwsza pozwala na zażądanie tylko tych danych o dokumencie, których oczekujemy. Druga umożliwia autorowi modyfikowanie istniejących właściwości obiektu, a także definiowanie jego nowych atrybutów.

Wykorzystanie technologii XML i związanych z nią mechanizmów pozwala bardzo dokładnie opisywać edytowane zmienne i weryfikować ich poprawność. Oczywiście, aby protokół WebDAV mógł być wykorzystywany, zarówno klient, jak i serwer muszą „rozumieć” XML-a.

Close

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.