2011年10月1期通信技術プロバイダ各社の proxy autoconfig を比較してみる TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
光のメディコンとかなぜ高値物理的にそんなにするの
( ´_ゝ`) 流石だよな俺ら @ 通信技術
cisco2501を入手したけど・・・
地域IP網ってどうよ


プロバイダ各社の proxy autoconfig を比較してみる


1 :02/11/15 〜 最終レス :11/09/30
プロバイダ板でやるべきかも知れない内容ですが、
IE や NC 等の Proxy Auto-Config File を比較してみるスレです。
参考URL
Navigator Proxy Auto-Config File Format
http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html

2 :
漏れが加入したプロバイダのやつを晒します。
J-COM 東東京
//-Pacfile version 1.1
function FindProxyForURL(url, host)
{
var i;
var str;
if (
shExpMatch(url, "https://*") ||
shExpMatch(url, "news://*") ||
shExpMatch(url, "snews://*") ||
shExpMatch(url, "ftp://*@*") ||
shExpMatch(url, "http://ads*.home.net/*") ||
shExpMatch(url, "http://localhost/*") ||
shExpMatch(url, "http://localhost:*/*") ||
shExpMatch(url, "http://www:4000/*") ||
shExpMatch(url, "http://www.home.com:4000/*") ||
shExpMatch(url, "http://www.home.net:4000/*") ||
shExpMatch(url, "http://www.*.home.com:4000/*") ||
shExpMatch(url, "http://www.*.home.net:4000/*") ||
shExpMatch(url, "http://*.excite.ca/whereami*") ||
shExpMatch(url, "http://*.excite.com/whereami*") ||
shExpMatch(url, "http://*.heat.net/cgi-bin/*") ||
shExpMatch(url, "http://*.heat.net/*/cgi-bin/*") ||
0
) {
return("DIRECT");
}
(つづく)

3 :
J-COM 東東京…間違えました、J-COM 東関東つづき
var num = (1 + (url.length % 2));
str = ("PROXY proxy" + num + ".kasiw1.kn.home.ne.jp" + ":8080; ");
for (i = 1; i <= 2; i++) {
if (i != num) {
str += ("PROXY proxy" + i + ".kasiw1.kn.home.ne.jp" + ":8080; ");
}
}
str += "DIRECT";
return(str);
}

4 :
昨年時点のものなので、現在はより洗練されたものになってるかも知れません。>J-COM

5 :
>>2-3 からわかること
・URL 長により、簡易な負荷分散が計られてる。
・proxy がサポートしてない protocol(https, news, snews)や、
 匿名以外の ftp や、
 自グループのものと思われる鯖等には proxy を経由させてない。
 但し、URL の case の違いは考慮してない。
・前半の shExpMatch() の羅列の最後に "|| 0" が在る(人間のケアレスミスを
 防ぐ為なのか、ファイルを機械生成した事に因るものなのかは不明)。

6 :

http://homepage.mac.com/bloombloom/

7 :
追加
・いわゆるおうちルータの使用が想定されてない。
・proxy の port 番号を文字列連結で追加するのは変(機械生成かも)。
・DNS が引けないホストも proxy に投げてしまう為、キャッシュサーバの
 振舞いによっては、ブラウザの URL 推測に支障をきたすおそれあり。

8 :
追加
・mp3 や mpeg 等のキャッシュにヒットしずらそうなもの(素人の想像ですけど)を
 特に除外してない。

9 :
次… J-COM と比べるとあんまりな例なので、プロバイダ名が分かる部分は
伏せます。
function FindProxyForURL(url, host)
{
if (isPlainHostName(host) ||
dnsDomainIs(host, ".xxx.ne.jp") || dnsDomainIs(host, "ftp.yyy.jp"))
return "DIRECT";
else
return "PROXY proxy.xxx.ne.jp:8080; DIRECT";
}

10 :
>>9 から分かる事
・proxy 鯖の負荷分散を(多分)ぐるぐる DNS に頼っている(1台しかないかも
 知れないけど)。
・いわゆるおうちルータの使用を考慮してない(private address 空間を
 除外してない)。
・localhost も除外してない(但し J-COM のやつも 127.0.0.1 等と指定すると
 proxy にってしまう)。
・別の事業者の匿名 ftp 鯖(ftp.yyy.jp)を特別扱いしてるのは、どういう事情か?

11 :
>>1
>プロバイダ板でやるべきかも知れない内容ですが、
わかっているならプロバイダ板へどうぞ。

12 :
あくまで実際のISPの例示を出しただけで
「Proxyのautoconfiguration」がネタならこの板でも良いと思われ。
まぁ、あるいはSquidとかを念頭に入れてUnix板にHTTPキャッシュスレあたりとか。

13 :
>>2-3 で挙げた例なんですけど、shExpMatch() を多用するよりも、
url.substring() が使えるとこは使った方がCPU負荷が軽そうな気がするの
ですけど、気のせいでしょうか?
>>11
そうなんですけど、技術的に興味深い、或はスマートなものを追求したり
するのなら通技板かなぁ…と。

14 :
>>12
proxy 鯖に投資するよりも、線に投資する方が費用対効果が大きい為…か否かは
不明ですけど、大手の nifty, so-net, biglobe では、proxy 鯖を用意してない
みたいですね。

15 :
J-COM と比べると、おおと思わせる様な例が見当たらないです。
次の例もプロバイダが分かる部分は伏せてます。
function FindProxyForURL(url, host)
{
if (isInNet(host,"ccc.ccc.ccc.0","255.255.255.0") ||
isInNet(host,"10.0.0.0","255.0.0.0") ||
isInNet(host,"172.16.0.0","255.240.0.0") ||
isInNet(host,"192.168.0.0","255.255.0.0"))
return "DIRECT";
else
return "PROXY proxy.xxx.ne.jp:8080; DIRECT";
}
最初の isInNet(host, ...)は、
自ネットは proxy を通さない為なのですが、DNS を引く作業が伴うので、
isPlainHostName(host) || dnsDomainIs(host, ".xxx.ne.jp")
に置換えた方がいいと思いました。
private address を proxy 無しにしてるのは○(でも 127 が抜けてる)。

16 :
補足
あと、いわゆるおうちルータは class C の private address で使ってる人が
多いと思うので(漏れの妄想かも)、isInNet(host,"192...") を
10 とか 172.16 とかより前に移動すると良かったりするのではないかと思う。

17 :
ttp://www.space.net/proxy.pac

もう少しマシな方法はないのか?

18 :
>>14
マジレスすると、でかいISPは今時どこもLBでリダイレクトしてるだろ
サポート、運用のコストが大幅減だから
こんなの使ってるのは、
LBを買う金は無い、でもWebのトラフィックは減らしたい、でもユーザに設定させたくないっていうところだけだろ
どう考えてもプロバイダ板の内容

19 :
>>18
LBスレでは駄目なんですね。

…自分用の autoconfig を書いてて気がついたのですけど、
shExpMatch(url, "*.(mp3|ra)") とか書いても、IE5.5 は意図した通りに
解釈してくれないんですね(NC4.78 では動く)。
どちらの実装が正解なんでしょうか?

20 :
wget --proxy=off http://cache/member.pac

21 :

22 :
通信技術版でやるのはどうかと思うが、良スレと思った。
わしも何かupしたいが、JCOMなので既出・・・

23 :
>>22 リモホ出てやんの(;´д`)

24 :
この板を見てる方はみんな知ってるとおもうけど、
Super Proxy Script
ttp://naragw.sharp.co.jp/sps/indexj.html
ディレクトリ部分だけハッシュ対象にするアプローチは、JCOM のやつにも
応用出来ると思う。
最後の '/' を捜すのに lastIndexOf method は使ってはいけないのだろうか?
>>22
ありがとー

25 :
(^^)

26 :
>>1
完璧に、板というよりは住人を選ぶのを間違えましたね。。。

27 :
(^^)

28 :
これの目的は何ですか?

29 :

30 :

31 :

32 :

33 :
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

34 :

35 :
てす

36 :
>>36
リモホ晒しageしてまでテストしたかったのか

37 :
テスチョ

38 :
あぁわかっててもやるとやっちまった感がたまらねぇわ・・・・・・・
といいつつ影からスレを応援する
PC|・)

39 :
test

40 :
テスト

41 :
この板を見てる方はみんな知ってるとおもうけど、
Super Proxy Script
ttp://naragw.sharp.co.jp/sps/indexj.html
ディレクトリ部分だけハッシュ対象にするアプローチは、JCOM のやつにも
応用出来ると思う。
最後の '/' を捜すのに lastIndexOf method は使ってはいけないのだろうか?

42 :
1年ぶりにage

43 :
2年ぶりにあげ

44 :
更にあげ

45 :
久しぶりにあげ

46 :
これって自動で適用されてるの?

47 :11/09/30
ここも古いなぁ
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
光のメディコンとかなぜ高値物理的にそんなにするの
( ´_ゝ`) 流石だよな俺ら @ 通信技術
cisco2501を入手したけど・・・
地域IP網ってどうよ