aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawkinet.texi
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2020-12-07 09:15:09 +0200
committerArnold D. Robbins <arnold@skeeve.com>2020-12-07 09:15:09 +0200
commit0dfeaff26d60ebf6e175a781fe47f4e48a0ee210 (patch)
tree14f64972e90020936ac9e30e9f9bff77419299df /doc/gawkinet.texi
parent4bbf219d9f1bf3ad3e20b44fb3f4bc910d6398c3 (diff)
downloadegawk-0dfeaff26d60ebf6e175a781fe47f4e48a0ee210.tar.gz
egawk-0dfeaff26d60ebf6e175a781fe47f4e48a0ee210.tar.bz2
egawk-0dfeaff26d60ebf6e175a781fe47f4e48a0ee210.zip
gawkinet.texi, fix a number of FIXMEs.
Diffstat (limited to 'doc/gawkinet.texi')
-rw-r--r--doc/gawkinet.texi45
1 files changed, 35 insertions, 10 deletions
diff --git a/doc/gawkinet.texi b/doc/gawkinet.texi
index 7a44fd55..a2454e31 100644
--- a/doc/gawkinet.texi
+++ b/doc/gawkinet.texi
@@ -4,6 +4,9 @@
@settitle TCP/IP Internetworking With @command{gawk}
@c %**end of header (This is for running Texinfo on a region.)
@c FIXME: web vs. Web
+@c Correct spelling of web is still under discussion.
+@c https://english.stackexchange.com/questions/120869/should-i-capitalize-the-word-web-in-this-sentence
+@c We leave the many occurrences of web in this file as they are.
@dircategory Network applications
@direntry
@@ -995,7 +998,6 @@ flavor of Microsoft Windows usually do @emph{not} support these services.
Nevertheless, it @emph{is} possible to do networking with @command{gawk} on
Microsoft
Windows.@footnote{Microsoft preferred to ignore the TCP/IP
-@c FIXME: What about Windows 7, 8, 10?
family of protocols until 1995. Then came the rise of the Netscape browser
as a landmark ``killer application.'' Microsoft added TCP/IP support and
their own browser to Microsoft Windows 95 at the last minute. They even back-ported
@@ -1003,7 +1005,13 @@ their TCP/IP implementation to Microsoft Windows for Workgroups 3.11, but it was
a rather rudimentary and half-hearted implementation. Nevertheless,
the equivalent of @file{/etc/services} resides under
@file{C:\WINNT\system32\drivers\etc\services} on Microsoft Windows 2000
-and Microsoft Windows XP.}
+and Microsoft Windows XP.
+On Microsoft Windows 7, 8 and 10 there is a directory
+@file{%WinDir%\System32\Drivers\Etc}
+that holds the
+@uref{https://support.microsoft.com/en-us/help/972034/how-to-reset-the-hosts-file-back-to-the-default, @file{hosts} file}
+and probably also a
+@uref{https://www.ibm.com/support/knowledgecenter/SSRNYG_7.2.1/com.ibm.rational.synergy.install.win.doc/topics/sg_r_igw_services_file.html, @file{services} file}.}
The first column of the file gives the name of the service, and
the second column gives a unique number and the protocol that one can use to connect to
this service.
@@ -1146,7 +1154,12 @@ than 1024 (@samp{echo} is at port 7) are reserved for @code{root}.
On machines running some flavor of Microsoft Windows, there is no restriction
that reserves ports 1 to 1024 for a privileged user; hence, you can start
an @samp{echo} server there.
-@c FIXME: Is this still true?
+Even in later version of Microsoft Windows, this restriction of
+the Unix world seems to have never been adopted
+@uref{https://social.technet.microsoft.com/Forums/windowsserver/en-US/334f0770-eda9-475a-a27f-46b80ab7e872/does-windows10server2016-have-privileged-ports-?forum=ws2016,
+@cite{Does windows(10/server-2016) have privileged ports?}}.
+In Microsoft Windows it is the level of the firewall that handles
+port access restrictions, not the level of the operating system's kernel.
Turning this short server program into something really useful is simple.
Imagine a server that first reads a @value{FN} from the client through the
@@ -1285,11 +1298,21 @@ HTTP request that existed when the web was created in the early 1990s.
HTTP calls this @code{GET} request a ``method,'' which tells the
service to transmit a web page (here the home page of the Yahoo! search
engine). Version 1.0 added the request methods @code{HEAD} and
-@c FIXME: Update this footnote?
@code{POST}. The current version of HTTP is 1.1,@footnote{Version 1.0 of
HTTP was defined in RFC 1945. HTTP 1.1 was initially specified in RFC
2068. In June 1999, RFC 2068 was made obsolete by RFC 2616, an update
-without any substantial changes.} and knows the additional request
+without any substantial changes.}@footnote{@uref{https://en.wikipedia.org/wiki/HTTP/2,
+Version 2.0 of HTTP}
+was defined in
+@uref{https://tools.ietf.org/html/rfc7540,RFC7540}
+and was derived from Google's
+@uref{https://en.wikipedia.org/wiki/SPDY,SPDY}
+protocol. It is said to be widely supported. As of 2020 the most popular
+web sites still identify themselves as supporting HTTP/1.1.
+@uref{https://en.wikipedia.org/wiki/HTTP/3, Version 3.0 of HTTP}
+is still a draft and was derived from Google's
+@uref{https://en.wikipedia.org/wiki/QUIC,QUIC} protocol.}
+and knows the additional request
methods @code{OPTIONS}, @code{PUT}, @code{DELETE}, and @code{TRACE}.
You can fill in any valid web address, and the program prints the
HTML code of that page to your screen.
@@ -2199,14 +2222,16 @@ function SetUpEliza() @{
@c endfile
@end example
-@c FIXME: Not sure what this home page is, or if available any more. Needs updating.
@cindex Humphrys, Mark
@cindex ELIZA program
Some interesting remarks and details (including the original source code
-of ELIZA) are found on Mark Humphrys' home page. Yahoo! also has a
-page with a collection of ELIZA-like programs. Many of them are written
-in Java, some of them disclosing the Java source code, and a few even
-explain how to modify the Java source code.
+of ELIZA) are found on Mark Humphrys's home page
+@uref{https://computing.dcu.ie/~humphrys/eliza.html,
+@cite{How my program passed the Turing Test}}.
+Wikipedia provides much background information about
+@uref{https://en.wikipedia.org/wiki/ELIZA, ELIZA},
+including the original design of the software and
+its early implementations.
@node Caveats, Challenges, Simple Server, Using Networking
@section Network Programming Caveats