ãããã·ã¼ãµã¼ãã¼ã¨ãã³ããªã³ã°
ã¤ã³ã¿ã¼ãããã®ãã¾ãã¾ãªãããã¯ã¼ã¯ãç§»åããã¨ãã«ããããã·ã¼ãµã¼ãã¼ã¨ HTTP ãã³ãã«ã¯ã World Wide Web ä¸ã®ã³ã³ãã³ãã¸ã®ã¢ã¯ã»ã¹ã容æã«ãã¦ãã¾ãããããã·ã¼ã¯ã¦ã¼ã¶ã¼ã®ãã¼ã«ã«ã³ã³ãã¥ã¼ã¿ã¼ãã¾ãã¯ã¦ã¼ã¶ã¼ã®ã³ã³ãã¥ã¼ã¿ã¼ã¨ã¤ã³ã¿ã¼ãããä¸ã®éä¿¡å ãµã¼ãã¼ã®éã®ä»»æã®å ´æã«é ç½®ã§ãã¾ãããã®ãã¼ã¸ã§ã¯ãããã·ã¼ã«é¢ããããã¤ãã®åºæ¬ãæ¦èª¬ããããã¤ãã®è¨å®ãªãã·ã§ã³ãç´¹ä»ãã¾ãã
ãããã·ã¼ã«ã¯ããã©ã¯ã¼ããããã·ã¼ (ã¾ãã¯ãã³ãã«ã¾ãã¯ã²ã¼ãã¦ã§ã¤) ã¨ãªãã¼ã¹ãããã·ã¼ (è² è·åæ£ãèªè¨¼ã復å·åã¾ãã¯ãã£ãã·ã¥ç¨ã®ãµã¼ãã¼ã¸ã®ã¢ã¯ã»ã¹ãå¶å¾¡ããã³ä¿è·ããããã«ä½¿ç¨ããã) ã® 2 種é¡ãããã¾ãã
ãã©ã¯ã¼ããããã·ã¼
ãã©ã¯ã¼ããããã·ã¼ãã¾ãã¯ã²ã¼ãã¦ã§ã¤ãã¾ãã¯åã«ããããã·ã¼ãã¯ãã¯ã©ã¤ã¢ã³ãã¾ãã¯ã¯ã©ã¤ã¢ã³ãã°ã«ã¼ãã«ãããã·ã¼ãµã¼ãã¹ãæä¾ãã¾ããã¤ã³ã¿ã¼ãããã«ã¯æ°åä¸ãã®å ¬éãããã·ã¼ãåå¨ããå¯è½æ§ãããã¾ããã°ã«ã¼ãã«ãã£ã¦ä½¿ç¨ããã帯åå¹ ãæ¸ããã¦å¶å¾¡ããããã«ãã¤ã³ã¿ã¼ããããµã¼ãã¹ï¼DNS ãã¦ã§ããã¼ã¸ãªã©ï¼ãæ ¼ç´ãã¦è»¢éãã¾ãã
ãã©ã¯ã¼ããããã·ã¼ã¯å¿åãããã·ã¼ã«ãããã¨ãã§ããã¦ã¼ã¶ã¼ã¯ã¦ã§ãããã©ã¦ãºãããä»ã®ã¤ã³ã¿ã¼ããããµã¼ãã¹ã使ç¨ãã¦ããéã«èªåã® IP ã¢ãã¬ã¹ãé ããã¨ãã§ãã¾ããTOR (The Onion Router) ã¯ãå¿åæ§ã®ããã«è¤æ°ã®ãããã·ã¼ãä»ãã¦ã¤ã³ã¿ã¼ããããã©ãã£ãã¯ãã«ã¼ãã£ã³ã°ãã¾ãã
ãªãã¼ã¹ãããã·ã¼
ãã®ååã示ãããã«ããªãã¼ã¹ãããã·ã¼ã¯ãã©ã¯ã¼ããããã·ã¼ã¨ã¯éã®åä½ãè¡ãã¾ãããã©ã¯ã¼ããããã·ã¼ã¯ã¯ã©ã¤ã¢ã³ãï¼ã¾ãã¯ãªã¯ã¨ã¹ããã¹ãï¼ã«ä»£ãã£ã¦åä½ãããªãã¼ã¹ãããã·ã¼ã¯ãµã¼ãã¼ã«ä»£ãã£ã¦åä½ãã¾ãããã©ã¯ã¼ããããã·ã¼ã¯ã¯ã©ã¤ã¢ã³ãã® ID ãé ããã¨ãã§ãã¾ããããªãã¼ã¹ãããã·ã¼ã¯ãµã¼ãã¼ã® ID ãé ããã¨ãã§ãã¾ãããªãã¼ã¹ãããã·ã¼ã«ã¯ããã¤ãã®å©ç¨æ³ãããã¾ãããä¸é¨ãç´¹ä»ãã¾ãã
- ãã¼ããã©ã³ã·ã³ã°: è¤æ°ã®ã¦ã§ããµã¼ãã¼ã«è² è·ã忣ãããã¨
- éçãªã³ã³ãã³ãã®ãã£ãã·ã¥: åçã®ãããªéçã³ã³ãã³ãããã£ãã·ã¥ãããã¨ã«ãã£ã¦ã¦ã§ããµã¼ãã¼ã®è² è·ã軽æ¸ãããã¨
- å§ç¸®: ã³ã³ãã³ããå§ç¸®ãã¦æé©åããèªã¿è¾¼ã¿æéãç縮ãããã¨
ãããã·ã¼ãä»ãã¦ã¯ã©ã¤ã¢ã³ãæ å ±ã転éãã
ãããã·ã¼ã¯ããããã·ã¼ã® IP ã¢ãã¬ã¹ããçºä¿¡ãããããã«ãªã¯ã¨ã¹ãã表示ããããã¨ãã§ãã¾ããããã¯ã¯ã©ã¤ã¢ã³ãã®å¿åæ§ãæä¾ããããã«ãããã·ã¼ã使ç¨ããå ´åã«ä¾¿å©ã§ããããã以å¤ã®å ´åã¯å ã®ãªã¯ã¨ã¹ãã®æ å ±ã失ããã¾ããå ã®ã¯ã©ã¤ã¢ã³ãã® IP ã¢ãã¬ã¹ã¯ããããã°ãçµ±è¨ãã¾ãã¯ãã±ã¼ã·ã§ã³ä¾åã®ã³ã³ãã³ãã®çæã«ãã使ç¨ããã¾ãããã®æ å ±ãå ¬éããä¸è¬çãªæ¹æ³ã¯ã次㮠HTTP ãããã¼ã使ç¨ãããã¨ã§ãã
æ¨æºåããããããã¼:
Forwarded-
ãããã·ã¼ããªã¯ã¨ã¹ãã®ãã¹ã«å«ã¾ãã¦ããã¨ãã«ã夿´ã¾ãã¯å¤±ãããã¯ã©ã¤ã¢ã³ãå´ã®ãããã·ã¼ãµã¼ãã¼å´ããã®æ å ±ãå«ã¾ãã¾ãã
ãããã¯äºå®ä¸ã®æ¨æºãã¼ã¸ã§ã³:
X-Forwarded-For-
HTTP ãããã·ã¼ã¾ãã¯ãã¼ããã©ã³ãµã¼ãä»ãã¦ã¦ã§ããµã¼ãã¼ã«æ¥ç¶ãã¦ããã¯ã©ã¤ã¢ã³ãã®çºä¿¡å IP ã¢ãã¬ã¹ãèå¥ãã¾ãã
X-Forwarded-Host-
ã¯ã©ã¤ã¢ã³ãããããã·ã¼ã¾ãã¯ãã¼ããã©ã³ãµã¼ã¸ã®æ¥ç¶ã«ä½¿ç¨ããå ã®ãã¹ããèå¥ãã¾ãã
X-Forwarded-Proto-
ã¯ã©ã¤ã¢ã³ãããããã·ã¼ã¾ãã¯ãã¼ããã©ã³ãµã¼ã¸ã®æ¥ç¶ã«ä½¿ç¨ãããããã³ã« (HTTP ã¾ã㯠HTTPS) ãèå¥ãã¾ãã
(ã¯ã©ã¤ã¢ã³ãã¸ã®æ¥ç¶ã§ã¯ãªã) ãããã·ã¼èªä½ã«é¢ããæ
å ±ãæä¾ããã«ã¯ãVia ãããã¼ã使ç¨ã§ãã¾ãã
Via-
ãããã·ã¼ã«ãã£ã¦ããã©ã¯ã¼ãã¨ãªãã¼ã¹ã®ä¸¡æ¹ã®ãããã·ã¼ã追å ããããªã¯ã¨ã¹ããããã¼ã¨ã¬ã¹ãã³ã¹ãããã¼ã«è¡¨ç¤ºããã¾ãã
HTTP ãã³ããªã³ã°
ãã³ããªã³ã°ã¯ãã¼ã¿ãã«ãã»ã«åãããã¨ã«ãã£ã¦ããããªãã¯ãããã¯ã¼ã¯ãä»ãã¦ãã©ã¤ãã¼ããããã¯ã¼ã¯ãã¼ã¿ããã³ãããã³ã«æ å ±ãéä¿¡ãã¾ããHTTP ãã³ããªã³ã°ã¯ãããä½ãã¬ãã«ã®ãããã³ã« (TCP) ãä¼éããããã«ãããé«ãã¬ãã« (HTTP) ã®ãããã³ã«ã使ç¨ãã¦ãã¾ãã
HTTP ãããã³ã«ã¯ CONNECT ã¨å¼ã°ãããªã¯ã¨ã¹ãã¡ã½ãããæå®ãã¾ãããªã¯ã¨ã¹ãããããªã½ã¼ã¹ã¨ã®åæ¹åéä¿¡ãéå§ãããã³ãã«ãéãããã«ä½¿ç¨ãããã¨ãã§ãã¾ããããã¯ãHTTP ãããã·ã¼ã®èå¾ã«ããã¯ã©ã¤ã¢ã³ãã SSL (ã¤ã¾ã HTTPSã443 çªãã¼ã) ã使ç¨ãã¦ã¦ã§ããµã¤ãã«ã¢ã¯ã»ã¹ããæ¹æ³ã§ãããã ãããã¹ã¦ã®ãããã·ã¼ãµã¼ãã¼ã CONNECT ã¡ã½ããã«å¯¾å¿ãã¦ãããã443 çªãã¼ãã®ã¿ã«éå®ããããã¦ããããã§ã¯ãªããã¨ã«æ³¨æãã¦ãã ããã
Wikipedia ã® HTTP ãã³ãã«ã®è¨äºãåç §ãã¦ãã ããã
ãããã·ã¼ã®èªåæ§æ (PAC)
ãããã·ã¼èªåæ§æ (PAC) ãã¡ã¤ã«ã¯ãã¦ã§ããã©ã¦ã¶ã¼ã®ãªã¯ã¨ã¹ã (HTTPãHTTPSãããã³ FTP) ãç´æ¥å®å ã«éä¿¡ããããã¦ã§ããããã·ã¼ãµã¼ãã¼ã«è»¢éããããæ±ºå®ãã JavaScript 颿°ã§ããPAC ãã¡ã¤ã«ã«å«ã¾ãã JavaScript 颿°ã¯ã次ã®é¢æ°ãå®ç¾©ãã¾ãã
èªåæ§æãã¡ã¤ã«ã¯æ¡å¼µåã .pac ã®ãã¡ã¤ã«ã«ä¿åããå¿
è¦ãããã¾ãã
ããã¦ãMIME ã¿ã¤ãã application/x-ns-proxy-autoconfig ã«è¨å®ãã¾ãã
ãã®ãã¡ã¤ã«ã¯ FindProxyForURL ã¨ãã颿°ã§æ§æããã¦ãã¾ãã以ä¸ã®ä¾ã¯ãå
é¨ DNS ãµã¼ãã¼ãå
é¨ãã¹ãåã®ã¿ã解決ã§ããããã«è¨å®ããã¦ããç°å¢ã§åä½ãã解決ã§ããªããã¹ãã«å¯¾ãã¦ã®ã¿ãããã·ã¼ã使ç¨ãããã¨ãç®æ¨ã¨ãã¦ãã¾ãã
function FindProxyForURL(url, host) {
if (isResolvable(host)) {
return "DIRECT";
}
return "PROXY proxy.mydomain.com:8080";
}