25

HTTPサーバーがあり、HTTPクライアントベースのアプリケーション(Linux上)が正常に動作しています。

しかし今、私たちはクライアントアプリケーションからUnixドメインソケットをリッスンする必要があります。では、UNIXドメインソケットからhttprequest、httpresponseパケットを送受信することは可能ですか?

Scenerio1:ローカルホストに接続する場合、ローカルポートへのHTTPSではなくUNIXソケットにHTTPを接続することにより、SSLオーバーヘッドを排除する必要があります。

基本的に、HTTPURLでUNIXソケットパスをエンコードする標準を探しています。

よろしくお願いします。

4

1 に答える 1

20

SOCK_STREAMソケットが(ではなく)ストリームソケットである限り、SOCK_DGRAM技術的には可能です。HTTPにはTCP/IPを必要とするものはなく、信頼できる双方向ストリームが必要なだけです。

しかし、私はそのようなソケットに接続する方法を知っているHTTPクライアントを見たことがありません。サーバーと通信するために実際にURLを使用する必要がある場合、それが機能することがわかっているURL形式はありません。

また、TCP / IPを使用していない場合、通常のWebサーバーが依存するもの(getpeername()クライアントの識別など)は意味をなさないことに注意してください。

編集localhostUNIXソケットへのマッピングに関する編集を見たところです。これは完全に実行可能です。127.0.0.1:xxxに接続する代わりに、クライアントが使用する必要のあるUNIXソケットのパスを見つける方法を知っていることを確認する必要があります。

于 2013-02-08T11:09:18.257 に答える