Instalacja i konfiguracja Serwera sieci Web (IIS 7.0/7.5) w Windows Vista i Windows 7
Obsługa protokołu IPv6 w Serwerze sieci web (IIS) jest zawsze zainstalowana i domyślnie włączona.
Serwer sieci web (IIS) nasłuchuje na wszystkich adresach interfejsów sieciowych, ale witryny mogą być dostępne tylko dla konkretnych adresów.
Aby zainstalować serwer sieci web (IIS) należy otworzyć Panel sterowania , tak jak pokazano na rysunku 1.
Rysunek 1. Otwarcie Panelu sterowania
Następnie należy nacisnąć na hiperłącze Programy, tak jak pokazano na rysunku 2.
Rysunek 2. Otwarcie okna Programy
Następnie należy nacisnąć na hiperłacze Włącz lub wyłącz funkcje systemu Windows, tak jak pokazano na rysunku 3.
Rysunek 3. Włączenie okna Funkcje systemu Windows
W oknie Funkcje systemu Windows należy zaznaczyć Internetowe usługi informacyjne, tak jak pokazano na rysunku 4, a następnie należy nacisnąć przycisk OK.
Rysunek 4. Wybranie funkcji Internetowych usług informacyjnych
Po zakończonej instalacji należy zezwolić usługom sieci web na dostęp przez zaporę systemu Windows, w tym celu należy otworzyć Panel sterowania, a następnie nacisnąć na hiperłącze System i zabezpieczenia, tak jak pokazano na rysunku 5.
Rysunek 5. Otwarcie okna System i zabezpieczenia
W oknie System i zabezpieczenia należy nacisnąć na hiperłącze Zezwalaj programowi na dostęp przez Zaporę systemu Windows, tak jak pokazan na rysunku 6.
Rysunek 6. Otwarcie okna Dozwolone programy w Zaporze systemu Windows
Następnie w oknie Dozwolone programy należy nacisnąć przycisk Zmień ustawienia, a następnie należy znaleźć i zaznaczyć Usługi sieci World Wide Web (HTTP), tak jak pokazano na rysunku 7, a następnie należy nacisnąć przycisk OK.
Rysunek 7. Zezwolenie usługom sieci World Wide Web (HTTP) na dostęp przez zaporę systemu Windows
Aby podejrzeć lub zmodyfikować adresy IP, za pomocą których istnieje dostęp do witryny należy otworzyć Panel sterowania, następnie należy nacisnąć na hiperłącze System i zabezpieczenia. W oknie System i zabezpieczenia należy nacisnąć na hiperłącze Narzędzia administracyjne, tak jak pokazano na rysunku 8.
Rysunek 8. Otwarcie okna Narzędzia administracyjne
W oknie Narzędzia administracyjne należy dwukrotnie kliknąć na Menadżer internetowych usług informacyjnych (IIS), tak jak pokazano na rysunku 9.
Rysunek 9. Otwarcie Menadżera internetowych usług informacyjnych (IIS)
Następnie w drzewie Połączenia znajdującym się po lewej stronie okna Menadżera internetowych usług informacyjnych (IIS), należy rozwinąć gałąź z nazwą komputera, w której to należy nacisnąć na Witryny tak jak pokazano na rysunku 10.
Rysunek 10. Otwarcie okna Witryny
W oknie Witryny w kolumnie Powiązanie są wypisane adresy IP wraz z numerami portów za pomocą których jest dostęp do witryny. W przypadku gdy zamiast adresu IP występuje symbol *, oznacza to, że dostęp do danej witryny odbywa się za pomocą wszystkich nieprzypisanych adresów IP łącznie z adresami IPv6.
Aby dodać lub zmodyfikować adresy IP za pomocą których ma być dostęp do witryny należy w oknie Witryny nacisnąć lewym przyciskiem myszy na interesującą nas witrynę. Następnie z menu Akcje znajdującego się po lewej stronie okna z zakładki Edytuj witrynę wybrać Powiązania..., tak jak pokazano na rysunku 11.
Rysunek 11. Okno powiązań witryny
W przypadku gdy witryna jest dostępna za pomocą konkretnego adresu IPv4 (jest wpisany adres sieciowy, a nie symbol *) to istnieją następujące możliwości dodania obsługi IPv6 do witryny:
-
dodanie nowego powiązania z konkretnym adresem IPv6 (witryna będzie dostępna zarówno pod adresem IPv4 jak i IPv6)
-
edycja obecnego powiązania poprzez zastąpienie adresu IPv4 symbolem * (w takiej sytuacji witryna będzie dostępna pod wszystkimi nieprzypisanymi adresami sieciowymi)
-
edycja obecnego powiązania poprzez zastąpienie adresu IPv4 przez adres IPv6 (witryna będzie dostępna tylko pod adresem IPv6)
Dodając lub modyfikując powiązania witryny należy nie zmieniać wartości innych pól niż pole adresu IP.
Rysunek 12. Dodanie powiązania witryny
Nie jest potrzebne ponowne uruchomienie Serwera sieci web (IIS) w celu zastosowania zmian.
Aby sprawdzić poprawność działania serwera www po konfiguracji, należy w pasku przeglądarki wpisać adres IPv6 w nawiasach kwadratowych, tak jak pokazano na rysunku 13.
Rysunek 13. Sprawdzenie poprawności działania serwera www po adresie IPv6
Serwer sieci Web
Serwer sieci web (ang. web server) to oprogramowanie, którego podstawową funkcjonalnością jest dostarczanie witryn internetowych do klienta za pośrednictwem sieci. Usługa ta świadczona jest na żądanie klienta za pomocą protokołu HTTP.
HTTP (ang. Hypertext Transfer Protocol) jest podstawowym protokołem służącym do komunikacji w sieci. Działa on w trybie żądanie-odpowiedź (ang. request-response) w modelu klient-serwer, oznacza to, że na każde żądanie ze strony klienta serwer generuje odpowiedź, a cała komunikacja odbywa się synchronicznie. Protokół HTTP określa komunikaty, które klient może przesłać do serwera oraz odpowiedzi, których może się spodziewać. Protokół HTTP jest zdefiniowany w RFC 2616 i obowiązuje klienta oraz serwer.
Najpowszechniej używanym sposobem komunikacji klienta z serwerem sieci web jest zestawianie połaczenia TCP na porcie 80. Użycie protokołu TCP gwarantuje nam niezawodność, dzięki czemu komunikujące się strony nie potrzebują martwić się o gubienie pakietów.
Pierwszą udokumentowaną wersją protokołu HTTP była wersja 0.9, zaś dopiero wesja 1.0 została zdefiniowana w dokumencie RFC 1945 w 1996 roku.
Protokół HTTP 1.0 umożliwia realizację tylko jednego żądania w ramach jednego połączenia. Rozwiązanie to na początku wydawało się być wystarczające, ponieważ przesyłane strony w tamtych czasach były przeważnie typowo tekstowe. Bardzo szybki rozwój Internetu spowodował, że strony były coraz bardziej urozmaicane w różnego rodzaju dodatkowe elementy multimedialne, co spowodowało, że używanie protokołu HTTP 1.0 stało się coraz bardziej nieefektywne. W roku 1999 w dokumencie RFC 2616 został zdefiniowany protokół HTTP 1.1, w którym to zastosowano mechanizm połączenia stałego (ang. Persistent connection). Rozwiązanie to pozwoliło na obsługę wielu żądań w czasie trwania jednego połączenia.
Każde żądanie HTTP rozpoczęte jest od metody, która określa przedmiot żądania.
W dokumencie RFC 2616 opisującym protokół HTTP 1.1 zostały zdefiniowane następujące metody:
· GET - żądanie udostępnienia zasobu wskazanego przez URI
· HEAD - żądanie udostępnienia informacji o zasobie
· PUT - żądanie zapamiętania przesyłanych danych w postaci pliku na serwerze
· POST - żądanie przyjecia danych przesyłanych przez klienta
· DELETE - żądanie usunięcia zasobu
· TRACE - żądanie odesłania otrzymanego żądanie – służy do diagnostyki
· CONNECT - żądanie przeznaczone dla serwerów proxy pełniących funkcję tunelowania
· OPTIONS - żadanie przesłania informacji o opcjach i właściwościach w danym kanale komunikacyjnym
Po linii zawierającej metodę mogą występować linie zawierające dodatkowe informacje związane z żądaniem m.in. takie jak:
· User-Agent – zawiera informacje o przeglądarce i systemie operacyjnym klienta
· Accept – zawiera informacje o typach stron obługiwanych przez klienta
· Accept-Charset – zawiera zestaw znaków akceptowalnych przez klienta
· Accept-Encoding – zawiera kodowanie akceptowalne przez klienta
· Accept-Language – zawiera wersję językową systemu klienta
· Host – zawiera nazwę DNS serwera
· Authorization – zawiera listę uwierzytelnień serwera
· Cookie – zawiera istniejące ciasteczka (ang. Cookies) wysyłane do serwera
· Date – zawiera datę oraz czas wysłania komunikatu
· Upgrade – zawiera protokół, na który nadawca żąda przełączenia
Pierwsza linia odpowiedzi serwera rozpoczyna się od wersji protokołu, zaś po niej występuje trzycyfrowy kod statusu oraz tekstowe wytłumaczenie tego kodu. Kody statusu dzielą się na pięć grup, a pierwsza cyfra kodu statusu określa przynależność do danej grupy.
Tabela 1. Omówienie kodów statusu protokołu HTTP
Grupa
|
Znaczenie
|
Przykłady kodów statusowych
|
1xx
|
Informacja
|
100 – żądanie klienta zostało zaakceptowane przez serwer
|
2xx
|
Powodzenie
|
200 – żądanie zostało pomyślnie zrealizowane
|
3xx
|
Przeadresowanie
|
301 – żądany zasób znajduje się pod innym adresem
|
304 – kopia strony w pamięci cache jest nadal aktualna
|
4xx
|
Błąd klienta
|
403 – dostęp do witryny jest zabroniony
|
404 – żądana strona nie istnieje
|
5xx
|
Błąd serwera
|
500 - wewnętrzny błąd serwera
|
503 – spróbój później
|
Po linii zawierającej kod statusu mogą występować linie zawierające dodatkowe informacje związane z odpowiedzią m.in. Takie jak:
· Server – zawiera informacje o serwerze
· Content-Encoding – zawiera sposób kodowania zawartości
· Content-Language – zawiera wersję językową strony
· Content-Length – zawiera długość strony (w bajtach)
· Content Type – zawiera typ MIME zawartości strony
· Last-Modified – zawiera datę oraz czas ostatniej modyfikacji strony
· Location – zawiera polecenie przekierowujące klienta do innego adresu
· Accept-Ranges – zawiera informację o możliwości udostępniania fragmentow stron
· Set-Cookie – zawiera ciastko (ang. Cookie) zapiswywane przez serwer u klienta
· Date – zawiera datę i czas wysłania komunikatu
· Upgrade – zawiera protokół, na który nadawca żąda przełączenia
Komunikacja przy użyciu protokołu HTTP pomiędzy klientem, a serwerem odbywa się poprzez przesyłanie komunikatów tekstowych w postaci kodów ASCII. Rozwiązanie to nie nadaje się do przesyłania poufnych informacji, dlatego też w celu zapewnienia bezpiecznego przesyłania danych w komunikacji klient-serwer powstał protokół HTTPS (Secure HTTP). Protokół ten tak naprawdę jest nadal protokołem HTTP, z tą różnicą że bazuje on na usługach warstwy SSL
(ang. Secure Socket Layer). SSL zapewnia wzajemne uwierzytelnienie klienta oraz serwer, szyfrowaną komunikację oraz ochronę integralności danych. Serwer sieci web do obsługi żądań HTTPS standardowo używa portu 443.
Opracowano na podstawie: Andrew S. Tanenbaum "Sieci Komuterowe" Wydawnictwo Helion, 2004; s. 576-581