wtorek, sierpnia 05, 2008

Proxy :-)

Się pochwalę :-)
W poprzednią środę i czwartek napisałem sobie serwer proxy :-)

Nie taki zwyczajny serwer proxy, a taki który zmienia w locie przychodzące od serwera odpowiedzi [mój serwer proxy zmienia odwołania do HTTPS na odwołania do HTTP, co jest konieczne w trakcie testów z niektórymi serwerami na których działa nasza aplikacja. Po prostu zmienia w komunikatach 302 adres w Location z HTTPS na HTTP i w ramach dmuchania na zimne wszystkie ciągi HTTPS:// na HTTP:// w treści stron ;-)].

Co zabawne, nie wiem jakiego rodzaju serwerem proxy jest mój serwerek ;-)
Podejrzewam, że HTTP Proxy :-)

Cała tajemnica w stworzeniu takiego serwera polega jak się okazuje na tym, że przeglądarka w requestach podaje pełnego URLa do zasobu łącznie z http:// i nazwą serwera, zamiast tylko podania ścieżki do zasobu.

Czyli gdy normalnie wpiszemy w przeglądarce http://www.google.com to przeglądarka wykona request do serwera www.google.com o zasób /, wysyłając żądanie:
GET / HTTP/1.1
W przypadku korzystania z serwera proxy, przeglądarka wykona żądanie do serwera proxy wysyłając:
GET http://www.google.com HTTP/1.1
W tym drugim przypadku to zadaniem serwera proxy jest nawiązanie połączenia z serwerem www.google.com i wysłaniem do niego:
GET / HTTP/1.1

Serwer proxy zrobi rozsądnie wysyłając resztę żądania w niezmienionej formie, i odsyłając odpowiedź serwera do przeglądarki.

Ot i cała tajemnica :-)


Podobne postybeta
Chyba wiem czemu aplikacje natywne nadal przeważają nad tymi w HTML5 na mobile
CONNECT i tunele
Ile wie o Tobie Internet?
Internacjonalizacja
Popsuty redirect