Q&A – tak nazwaliśmy nową sekcję wpisów, każdy wpis będzie składał się z pytania i krótkiej odpowiedzi, wytłumaczenia, lub po prostu skryptu. Mamy nadzieję, że przypadnie Wam do gustu. ;-)
Czasami gdy musisz szybko sprawdzić, czy serwer zwraca dane, lub chcesz podejrzeć nagłówki jakie zwraca serwer możesz to zrobić bezpośrednio z konsoli, używając telnet’a lub netcat’a. Przeglądarka wysyła określony zestaw nagłówków na port 80 serwera i w odpowiedzi otrzymuje nagłówki serwera oraz kontent (zawartość strony). My zrobimy dokładnie to samo, ale bez używania wspomagaczy ;-)
Podstawowy request może wyglądać tak:
# telnet www.varlog.pl 80
GET / HTTP/1.0
Host: www.varlog.pl[enter x2]
Dwie linie puste oznaczają koniec naszego żądania [enter x2]. Dopiero po wysłaniu tych linii, serwer zabierze się za przetwarzanie naszego requestu i zwróci nam odpowiedź. Podczas wielokrotnych testów korzystanie z telnetu może okazać się uciążliwe, wtedy użyjemy netcat’a:
# printf „GET / HTTP/1.0\r\nHost: www.varlog.pl\r\n\r\n” | nc www.varlog.pl 80
Rezultat dla tych dwóch poleceń będzie identyczny, netcat ma ten plus, że nie wymaga ręcznego wpisywania za każdym razem całego żądania.



oceń artykuł (2 gł., średnia: 3,50)


HTTP w wersji 1.0 nie obsługuje nagłówka Host. To trochę ‘uprzejmość’ serwerów HTTP, że mimo takiej wersji protokołu interpretują nagłówek, który wskazuje vhost, do którego próbujesz się odwołać – cud na Wisłą ;-)
[...] Wysyłamy żądanie o stronę główną do serwera: # printf „GET / HTTP/1.0rnrn”|nc 192.168.1.232 80 [...]