|Did you know ...||Search Documentation:|
|HTTP and IPv6|
As of version 9.1.5, SWI-Prolog supports IPv6. This has few
implications for the HTTP package because most aspects are handled by
library(uri). This sections highlights a few aspects.
The client libraries use http_open/3,
which in turn uses
This causes the client to use addresses returned by
which is based on the C API getaddrinfo(), in the order provided by
getaddrinfo(). The URL is parsed using
allows enclosing IPv6 addresses in
. The query below
accesses an IPv6 server on localhost at port 8080
?- http_open('http://[::1]:8080', Stream, ).
The predicate http_server/2
can be used to create an IPv6 server using one of the queries below. The
first binds to all interfaces. The second only binds to the IPv6
localhost. Note that the IPv6 address needs
to be quoted to create the desired
?- http_server('::':8080, ). ?- http_server('::1':8080, ).