Serwer pośredniczący (pośrednik, ang. proxy) – oprogramowanie lub serwer z odpowiednim oprogramowaniem, które dokonuje pewnych operacji (zwykle nawiązuje połączenia) w imieniu użytkownika. Często utożsamiany z pośrednikiem HTTP (HTTP proxy).

Użytkownik zleca pośrednikowi zadania za pomocą odpowiedniego klienta. W przypadku usług FTP i HTTP jest to klient FTP i przeglądarka internetowa. Obok tych popularnych rozwiązań znane są także inne, jak np. pośredniki (proxy) aplikacyjne, transferujące zapytania aplikacji, w istocie pełni ono funkcję oprogramowania pośredniczącego i realizuje „trasowanie zależne od danych”. Inne rodzaje pośredników mogą obsługiwać np. sieciowe protokoły transmisji głosu i innych usług.

Rodzaje serwerów pośredniczących

edytuj
Schemat połączeń dla serwera open proxy.
Schemat połączeń reverse proxy.

Serwery pośredniczące różnią się zależnie od tego gdzie w jakim punkcie się znajdują pomiędzy klientem i serwerem docelowym. Zwykle jeśli serwer jest bliżej użytkownika, to mówimy o forward proxy (lub open proxy), a jeśli jest dalej to o reverse proxy.

Open proxy

edytuj
Osobny artykuł: Open proxy.

Serwery tego typu mogą służyć do częściowej anonimizacji lub przyśpieszania komunikacji. Charakteryzują się tym, że znajdują się poza kontrolą serwerów docelowych. Użytkownik, czy ogólniej klient, łączy się z takim serwerem, a ten pobiera dane gdzieś z dowolnego miejsca z Internetu. Anonimizacja może się opierać na ukrywaniu adresu IP komputera na którym pracuje użytkownik. Serwer open proxy może jednak celowo podawać źródłowe IP użytkownika poprzez nagłówek X-Forwarded-For.

Reverse proxy

edytuj

Serwery tego typu mogą mieć wiele zastosowań m.in. odciążanie serwerów docelowych, cachowanie, czy ukrywanie serwerów docelowych. Charakteryzują się tym, że są przygotowywane pod konkretny serwer lub serwery docelowe. Mogą znajdować się zarówno w tej samej serwerowni co serwer docelowy, ale mogą również stanowić element sieci dostawczej (CDN) rozrzuconej na dużym obszarze.

Cechy serwerów pośredniczących

edytuj

Zalety:

  • potencjalnie krótszy czas oczekiwania na załadowanie się strony WWW poprzez ściągnięcie danych z serwera położonego bliżej użytkownika;
  • serwer proxy może mieć lepsze łącza, niż docelowy serwer;
  • zmniejszenie przepływu danych na dalekich dystansach (odciążenie słabszych łączy internetu);
  • odciążenie serwera docelowego poprzez buforowanie żądań lub cachowanie danych;
  • cachowanie danych powoduje również szybsze pobranie ich na komputer kliencki, ponieważ dane te są statyczne (nie muszą być generowane);
  • zmniejszanie ilości przesyłanych danych poprzez różne metody pakowania (deflate, brotli);
  • możliwość odizolowania klienta od serwera (co może być zabezpieczeniem przed włamaniem; może to stanowić zabezpieczeniem klienta w przypadku forward proxy, a w przypadku reverse proxy serwera docelowego).

Wady:

  • potencjalnie dłuższy czas ładowania danych w przypadku nowych danych (nie zapamiętanych w cache serwera proxy);
  • utrudnienie identyfikacji klientów (co może zaburzać statystyki użycia lub prezentowanie nieprawidłowych danych ze złej lokalizacji);
  • zwiększenie ilości miejsca na przechowywania danych (dodatkowe dane poza tymi na serwerze docelowym);
  • utrudnienia we wdrażaniu nowych wersji aplikacji przez przechowywanie starych wersji plików;
  • problemy z serwowaniem starych (nieaktualnych) danych.

Zobacz też

edytuj

📚 Artikel Terkait di Wikipedia

HTTP

World Wide Web). Najnowszą specyfikację HTTP stanowi dokument RFC 2616 ↓. Przy pomocy protokołu klienci HTTP komunikują się z serwerami, zamawiając pliki

HTTP cookie

Gdy jest zainstalowany serwer Proxy, nagłówki Set-Cookie nie powinny być przechowywane w pamięci proxy. Jeżeli serwer Proxy dostanie odpowiedź z nagłówkiem

CURL

mechanizmy takie jak: certyfikaty SSL, HTTP POST, HTTP PUT, upload FTP, wysyłanie formularzy HTTP, serwery proxy, HTTP cookie, uwierzytelnianie (nazwa użytkownika

Apache HTTP Server

dostępu/uwierzytelnianie: mod_authz_host CGI Proxy typu HTTP, Apache JServe Protocol, FTP, CONNECT: mod_proxy* SSI: mod_include Content-Negotation: mod_negotation

Pośrednik HTTP

Pośrednik HTTP (ang. HTTP proxy) – serwer pośredniczący w przekazywaniu danych w sieci komputerowej z wykorzystaniem protokołu komunikacyjnego HTTP. W najbardziej

Kod odpowiedzi HTTP

Kod odpowiedzi HTTP – numeryczna dana wysyłana przez serwer HTTP do aplikacji klienta. Informuje o sposobie realizacji (bądź jej braku) zapytania klienckiego

Protokół komunikacyjny

DNS 53 FTP 21 HTTP 80 (HTTP Proxy używa zwykle portu 8080) HTTPS 443 (HTTP na TLS) IRC 6667 NNTP 119 POP3 110 SPOP3 995 (POP3 na TLS) SMTP 25 SSH 22 Telnet

Nginx

nginx (wymawiany jako engine x) – serwer WWW (HTTP) oraz serwer proxy dla HTTP i IMAP/POP3 stworzony przez Igora Sysojewa(inne języki), a rozwijany i