AF over AF_UNIX:与unix套接字的HTTP连接

时间:2013-02-08 11:06:09

标签: http sockets webserver client-server unix-socket

我们有HTTP服务器,我们有基于HTTP客户端的应用程序(在Linux上)正常工作。

但现在我们需要从客户端应用程序中侦听Unix域套接字。 那么是否可以从unix域套接字发送/接收httprequest,httpresponse包?

Scenerio1:连接到localhost时,需要消除SSL  通过将HTTP连接到unix套接字而不是HTTPS来连接开销  当地港口。

基本上寻找在HTTP URL中编码unix套接字路径的标准。

非常感谢提前。

1 个答案:

答案 0 :(得分:10)

只要你的套接字是一个流套接字(SOCK_STREAM而不是SOCK_DGRAM),那么它在技术上是可行的。 HTTP中没有任何需要TCP / IP的内容,它只需要一个可靠的双向流。

但是,我从未见过知道如何连接到这样一个套接字的HTTP客户端。如果您确实需要使用URL与服务器通信,那么我知道没有可用的URL格式。

另请注意,当您不使用TCP / IP时,普通Web服务器所依赖的某些内容(例如getpeername())来识别客户端是没有意义的。

编辑我刚刚看到了关于将localhost映射到UNIX套接字的编辑。这是完全可行的,您只需要确保客户端知道如何找到应该使用的UNIX套接字的路径而不是连接到127.0.0.1:xxx