Using INADDR_ANY instead of INADDR_LOOPBACK makes it convenient when starting the web server inside containers without the need to having to specify INADDR_ANY all the time. This is the default in most libraries and languages.
This doesn't break backwards compatibility since INADDR_LOOPBACK is also included in INADDR_ANY. * doc/ref/web.texi (Web Server): update INADDR_LOOPBACK to INADDR_ANY and related text. * module/web/server/http.scm (http-open): default to INADDR_ANY for the web server. --- doc/ref/web.texi | 10 +++++----- module/web/server/http.scm | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/ref/web.texi b/doc/ref/web.texi index 93cd0214f..6b42b8ff6 100644 --- a/doc/ref/web.texi +++ b/doc/ref/web.texi @@ -1807,7 +1807,7 @@ socket, listening for request on that port. @deffn {HTTP Implementation} http [#:host=#f] @ [#:family=AF_INET] @ - [#:addr=INADDR_LOOPBACK] @ + [#:addr=INADDR_ANY] @ [#:port 8080] [#:socket] The default HTTP implementation. We document it as a function with keyword arguments, because that is precisely the way that it is -- all @@ -1815,7 +1815,7 @@ of the @var{open-params} to @code{run-server} get passed to the implementation's open function. @example -;; The defaults: localhost:8080 +;; The defaults: any local IP on port 8080 (run-server handler) ;; Same thing (run-server handler 'http '()) @@ -1866,9 +1866,9 @@ handler: (run-server hello-world-handler) @end example -By default, the web server listens for requests on -@code{localhost:8080}. Visit that address in your web browser to -test. If you see the string, @code{Hello World!}, sweet! +By default, the web server listens for requests on port @code{8080}. +Visit @code{http://localhost:8080} in your web browser to test. If you +see the string, @code{Hello World!}, sweet! @subsubsection Inspecting the Request diff --git a/module/web/server/http.scm b/module/web/server/http.scm index 05bf46bf0..91354021c 100644 --- a/module/web/server/http.scm +++ b/module/web/server/http.scm @@ -1,6 +1,6 @@ ;;; Web I/O: HTTP -;; Copyright (C) 2010, 2011, 2012, 2015 Free Software Foundation, Inc. +;; Copyright (C) 2010, 2011, 2012, 2015, 2022 Free Software Foundation, Inc. ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -61,7 +61,7 @@ (family AF_INET) (addr (if host (inet-pton family host) - INADDR_LOOPBACK)) + INADDR_ANY)) (port 8080) (socket (make-default-socket family addr port))) (listen socket 128) -- 2.35.1