この記事は、先日の「WindowsのHTTPスタック」をHiro Kannoさんの標準語→大阪弁変換ツールで(無意味に)変換した記事です。 Life is beautifulの「大阪弁変換で遊んでみた」に感化されてなんとなくやってみました。技術文書もいい味が出ますね。
今日はWindowsのHTTPスタックを紹介しまんねん。
HTTPスタックとは、HTTPを使うための各種ライブラリを集めたものや。
図を書くと、各レイヤのライブラリを積み重ねたように見えるので、スタックと呼ぶのだそうや。
アプリケーションレイヤから見ると単なるライブラリに見えまんねんけどね。
Windowsには、WinInetとWinHttpの2つのHTTPスタックがあるんや。 この2つのHTTPスタックの特徴を紹介しまんねん。
古くさいHTTPスタックやけどアンタ、今でも広く使われていまんねんわ。 インターフェースはInternetOpenやInternetReadFileやらなんやらいくつかのWin32APIから構成されていまんねんわ。 プロキシ設定はInternetExplorerの設定から行いまんねんわ。HTTPだけではなく、FTPやGopherも使えまんねん。
WinInetを使っとるライブラリやツールは、以下のようなものがあるんや。
また、以下のような制約やバグを抱えていまんねんわ。
わいにとってはつきあいの長いHTTPスタックやけどアンタ、バグや制約が厳しいので、そろそろお別れしたいや。
新しいスタックやけどアンタ、あまり広く使われていまへん。 インターフェースはWinHttp ActiveX オブジェクトが提供していまんねんわ。 プロキシ設定は、proxycfgちうWindows同梱のコマンドラインツールを使って行いまんねんわ。WinInetと違い、HTTPしか使えまへん。
WinHttpを使っとるライブラリやツールは、以下のようなものがあるんや。
WinHttpの制約やバグはちーとばかし分かりまへん。WinInetが抱えとる制約やバグは大体解決されとるようや。
わいにとっては今後お付き合いしたいHTTPスタックや。WinInetのバグにはもう近づきたくおまへん。 プロキシ設定がちょいと難儀なのが難点やけどね。
一応ケツに細くしておきまっけど、上記のバグやライブラリやらなんやらは、わいが開発をしていく中で見つけたものやので、網羅的に探したものではおまへん。
抜けはそれなりにあると思うでのでご注意くれへんかの。