Klient kontaktując się z serwerem musi zapukać w odpowiedni sposób do odpowiednich drzwi. Takie drzwi nazywają się ,,portem''. Nazwa ta została przyjęta przez analogię do rzeczywistych gniazd komputera, do których można podłączyć rzeczywiste urządzenia.
Oprogramowanie ,,tworzy'' na potrzeby komunikacji z innymi komputerami (realizacji usług sieciowych) duże ilości portów. Każdy port ma swój numer. Te, które służą do przyjmowania połączen (obsługują serwery) muszą mieć numery, które będą znane wszystkim klientom.
Jeżeli ktoś z państwa pragnie zapoznać się z numerami portów
zarezerwowanymi dla różnych serwisów (ale nie tylko) polecam dokument
z serii RFC o numerze
1700
(bardzo dlugie!) pod tytułem ,,Assigned Numbers''. Dokument ten
definiuje bardzo wiele innych rzeczy i aż dziw, że nie wszystkie te
definicje działają...
Porty o numerach niższych od 256 zostały zarezerwowane dla ,,dobrze
znanych usług'' (telnet, ftp,
gopher, www...); numery od 256 do 1024 zostały kiedyś
zarezerwowane dla ,,usług specyficznych dla systemu UNIX'',
(rlogin, rcp, talk...) - ale już od dawna nie jest to prawdą -
wiele innych systemów operacyjnych potrafi je realizować.
Na komputerach UNIXowych (i tylko tam zadziałają te URLe) plik /etc/services zawiera przyporządkowanie usług numerom portów. Dodatkowy plik /etc/inetd.conf wiąże te usługi z programami je realizującymi.
Pozwalam sobie zamieścić (niepełną) listę portów do których można ,,zapukać'' telnetem. Nie zalecam nadużywania tej czynności. Przypominam, że połączenie telnetowe można przerwać w każdej chwili naciskając (w systemie UNIX) klawisze Ctrl-], a następnie q i Enter (czytaj również o sekwencji ,,escape''):
GET / HTTP/1.0 User-Agent:i naciskamy dwukrotnie klawisz Enter. W odpowiedzi powinniśmy uzyskać (niesformatowaną) zawartość strony głównej serwera.
Zwracam również uwagę, że ,,dobrze znane usługi'' mogą być również serwowane przez inne numery portów, ale wówczas trzeba ten numer portu stale pamiętać i podawać explicite.