我们有 HTTP 服务器,我们有基于 HTTP 客户端的应用程序(在 Linux 上)工作正常。
但是现在我们需要从我们的客户端应用程序监听 Unix 域套接字。那么是否可以从 unix 域套接字发送/接收 httprequest、httpresponse 数据包?
场景1:连接本地主机时,需要通过将HTTP连接到unix套接字而不是HTTPS连接到本地端口来消除SSL开销。
基本上在 HTTP URL 中寻找标准编码 unix 套接字路径。
提前谢谢了。
我们有 HTTP 服务器,我们有基于 HTTP 客户端的应用程序(在 Linux 上)工作正常。
但是现在我们需要从我们的客户端应用程序监听 Unix 域套接字。那么是否可以从 unix 域套接字发送/接收 httprequest、httpresponse 数据包?
场景1:连接本地主机时,需要通过将HTTP连接到unix套接字而不是HTTPS连接到本地端口来消除SSL开销。
基本上在 HTTP URL 中寻找标准编码 unix 套接字路径。
提前谢谢了。
只要您的套接字是流套接字(SOCK_STREAM
而不是SOCK_DGRAM
),那么它在技术上是可行的。HTTP 中没有任何东西需要 TCP/IP,它只需要一个可靠的双向流。
但是,我从未见过知道如何连接到这样一个套接字的 HTTP 客户端。如果您确实需要使用 URL 与服务器通信,那么我所知道的任何 URL 格式都不会起作用。
getpeername()
另请注意,当您不使用 TCP/IP 时,普通 Web 服务器所依赖的某些东西(例如,识别客户端)是没有意义的。
编辑我刚刚看到您关于映射localhost
到 UNIX 套接字的编辑。这是完全可行的,您只需要确保客户端知道如何找到应该使用的 UNIX 套接字的路径,而不是连接到 127.0.0.1:xxx