Komunikacja klient-serwer
Z Wikipedii
Utworzenie połączenia pomiędzy klientem a serwerem dokonuje się poprzez połączenie się z konkretnym protokołem. Polega to na połączeniu z programem serwera poprzez odpowiedni port.
Żądanie konkretnego zasobu przez klienta.
Klient aby móc otrzymać określony zasób od serwera musi do niego wysłać żądanie w określonym formacie zrozumiałym dla serwera.
Ogólny format żądania ma postać: POLECENIE, LOKALIZACJA, WERSJA PROTOKOŁU EWENTUALNE NAGŁÓWKI linia pusta EWENTUALNE DANE PRZESYŁANE DO SERWERA
POLECENIE - określa typ żądania, najważniejsze z nich to:
* GET - żądanie zasobu * POST - przesyłanie danych do serwera ( np. przy formularzach ) * HEAD - jak GET, ale zwraca tylko nagłówek
LOKALIZACJA - umiejscowienie żądanego zasobu na serwerze np. /info.htm
WERSJA PROTOKOŁU - HTTP/1.0, HTTP/1.1
EWENTUALNE NAGŁÓWKI - dodatkowe informacje dołączone do żądania w formacie Nagłówek:parametry
EWENTUALNE DANE - najczęściej dane przesyłane do skryptu z formularza za pomocą metody POST
Odpowiedź serwera.
Ogólny format odpowiedzi na określone żądanie: WERSJA PROTOKOŁU, STAN ODPOWIEDZI, KOMUNIKAT EWENTUALNE NAGŁÓWKI linia pusta PRZESYŁANY DOKUMENT
WERSJA PROTOKOŁU - HTTP/1.0, HTTP/1.1
STAN ODPOWIEDZI - liczba określająca czy żądanie zakończyło się sukcesem czy pojawiły się
jakieś problemy. Kody: 100 - 199 informacje 200 - 299 zadanie zostało przetworzone poprawnie 300 - 399 zadanie zostało przeadresowane, niezbędne jest wykonanie dalszych kroków 400 - 499 zadanie jest niekompletne 500 - 599 wystąpił błąd w pracy serwera
KOMUNIKAT - dowolny łańcuch tekstowy będący uzupełnieniem stanu odpowiedzi, np. OK
EWENTUALNE NAGŁÓWKI - dodatkowe informacje dołączone do żądania w formacie Nagłówek:parametry