HTTP über AF_UNIX: HTTP-Verbindung zu unix-socket
Haben wir HTTP-server , für die wir eine HTTP-client-basierte Anwendung (unter Linux) wunderbar funktioniert.
Aber jetzt müssen wir hören auf Unix-domain-sockets aus unserer client-Applikation.
So ist es möglich zum senden/empfangen von httprequest, httpresponse-Paket von unix-domain-socket?
Scenerio1:Wenn eine Verbindung zu localhost, ist es erforderlich, zu beseitigen, die SSL
overhead durch HTTP-Verbindung zum unix-socket anstelle von HTTPS, um die
lokalen port.
Im Grunde auf der Suche für ein standard-Kodierung eine unix-socket-Pfad in einem HTTP-URL.
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
So lange, wie Ihr sockel ist ein stream-socket (
SOCK_STREAM
eher alsSOCK_DGRAM
), dann ist es technisch möglich. Es gibt nichts in HTTP, die erfordert, dass TCP/IP, es erfordert nur ein zuverlässige bidirektionaler Strom.Aber ich habe nie gesehen, dass ein HTTP-client, der weiß, wie man eine Verbindung zu solch einem socket. Es gibt keine URL-format, die ich kenne, die funktionieren würde, sollten Sie tatsächlich brauchen, um eine URL zu einem Gespräch mit dem server.
Beachten Sie auch, dass einige Dinge, die normale web-Server hängen (wie
getpeername()
zu identifizieren, die dem client) keinen Sinn machen, wenn Sie nicht über TCP/IP.BEARBEITEN ich sah gerade dein edit über die Zuordnung
localhost
zum UNIX-socket. Dies ist durchaus machbar, Sie müssen nur sicherstellen, dass der client weiß, wie Sie den Pfad des UNIX-socket, der verwendet werden sollte, anstatt eine Verbindung mit 127.0.0.1:xxxcurl -v --unix-socket /var/run/docker.sock http:/containers/json
sprechen wird Docker hat ein Gehen Umsetzung über unix-sockets.