Path: senator-bedfellow.mit.edu!senator-bedfellow.mit.edu!bloom-beacon.mit.edu!bloom-beacon.mit.edu!78.46.93.83.MISMATCH!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!proxad.net!feeder1-2.proxad.net!cleanfeed1-a.proxad.net!nnrp1-1.free.fr!not-for-mail
Date: Wed, 07 Jan 2015 00:26:04 +0100
From: Mateusz Viste <mateusz.viste@localhost>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
Newsgroups: comp.infosystems.gopher
Subject: Gopher (comp.infosystems.gopher) Frequently Asked Questions (FAQ)
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 705
Message-ID: <54ac6f0c$0$2481$426a34cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 07 Jan 2015 00:26:04 CET
NNTP-Posting-Host: 217.153.172.195
X-Trace: 1420586764 news-4.free.fr 2481 217.153.172.195:51131
X-Complaints-To: abuse@proxad.net
Xref: senator-bedfellow.mit.edu comp.infosystems.gopher:19868

Archive-name: gopher-faq
Last-modified: 07 Jan 2015

Common Questions and Answers about the Internet Gopher, a
client/server protocol for making a world wide information service,
with many implementations.

The most recent version of this FAQ can be gotten through gopher:

   <URL:gopher://gopher.viste.fr/1/gopher-faq>

This Gopher FAQ is currently maintained by Mateusz Viste, but
anyone can contribute by sending comments or suggestions either
to the comp.infosystems.gopher, or directly to the Gopher FAQ
maintainer: <mateusz[at]viste[dot]fr>.

-------------------------------------------------------------------
List of questions in the Gopher FAQ:

Q0:  What is Gopher?
Q1:  Where can I get Gopher software?
Q2:  What do I need to access Gopher?
Q3:  Where are there publicly available logins for Gopher?
Q4:  How can I add to the information in gopher?
Q5:  Who Develops Gopher Software?
Q9:  What are the type characters for the different Gopher Objects?
Q10: When I do full-text searches I always get every document back,
      Why?
Q11: When I try to build the UNIX software I get an error from
      make: "Must be a separator on rules line #. Stop". Why?
Q12: What is the relationship between Gopher and (WAIS, WWW, ftp)?
Q13: Are papers or articles describing Gopher available?
Q14: On a DECstation I get the error message "/etc/svc.conf no such
      file or directory" when running the gopherd server, why?
Q15: The boolean searching terms don't work for my full-text index,
      why?
Q16: When linking the Unix gopher server with WAIS I get undefined
      symbols (...)
Q18: Why don't my WAIS indexes work? I never get anything back for
      searches. or Why do I get "Dangling file" error messages in my
      logfile?
Q19: My gopher server doesn't work under inetd, why?
Q20: This is not a bug report, just a curiosity. I managed to
      install (...)
Q21: Help! I have PC-NFS and want to use the PC-Gopher client. How?
Q22: How do I nuke a hung TCP connection?  I can't restart my UNIX
      gopher server unless I get rid of it, and I don't want to
      reboot!
Q23: Is there somewhere I can retrieve a list of announced gopher
      links?  I'd like to keep a local, up-to-date list of available
      gopher holes without requiring our users to gopher to umn just
      to scan GopherSpace.
Q24: Why doesn't my unix gopher client display ISO-Latin-1
      characters?
Q25: What is veronica?
Q26: What e-mail/usenet discussions lists are active for Gopher?
Q28: Where is the registered list of gopher+ view types?
Q29: How do I use WAIS indices with my gopherd server without -c?
Q30: Why would I use gopher today? Isn't http better?
Q31: What is this CAPS.TXT mechanism good for?
Q32: What charset should I use on my gopher server?
Q33: How can a gopher client recognize that a selector returned
      an error (for example, because the resource doesn't exist)?

-------------------------------------------------------------------
Q0:  What is Gopher?

A0:  Internet Gopher is a distributed document search and retrieval system.
      It combines the best features of browsing through collections of
      information and fully indexed databases.  The protocol and software
      follows a client-server model, and permits users on a heterogeneous
      mix of desktop systems to browse, search, and retrieve documents
      residing on multiple distributed server machines.

-------------------------------------------------------------------
Q1:  Where can I get Gopher software?

A1:  Via gopher itself, at one of the following address:

      <URL:gopher://gopher.floodgap.com/1/gopher>

      Of course, there are also other places, but these two are a very
      good start point.

--------------------------------------------------------------------
Q2:  What do I need to access Gopher?

A2:  You will need a gopher "client" program that runs on your local PC
      or Workstation

      There are clients for virtually any existing system. Below you will
      find some address at which different clients are available.

      Here is a very cool plugin for Firefox, which greatly enhance the
      gopher support of that browser:
      <URL:http://gopher.floodgap.com/overbite/>

      Many clients for various patforms (DOS, Win3.1, Win9x and up,
      Macintosh, Unix, Linux, Commodore 64...):
      <URL:gopher://gopher.floodgap.com/1/gopher/clients>

      A nice graphical web browser for DOS, which supports Gopher, too:
      <URL:http://www.glennmcc.org/arachne/>

      A DOS gopher client (UGopher port, making it WATTCP compatible):
      <URL:http://www.fdisk.com/doslynx/gopher.htm>

      An open-source, multiplatform text-mode client:
      <URL:http://gopherus.sourceforge.net/>

      A Macintosh application, "GopherApp".
      <URL:ftp://ftp.bio.indiana.edu/util/gopher/gopherapp/>

      This is far from being an exhaustive list, as many other clients
      and servers have been developed around the world.

---------------------------------------------------------------------
Q3:  Where are there publicly available logins for Gopher?

A3:  Here is a short list, use the site closest to you to minimize
      network lag.

      Public Logins:

      Hostname                  IP#              Area
      ------------------------- ---------------  -------------
      consultant.micro.umn.edu  134.84.132.4	North America
      ux1.cso.uiuc.edu          128.174.5.59     North America
      panda.uiowa.edu           128.255.40.201	North America
      gopher.msu.edu            35.8.2.61	North America
      gopher.ebone.net          192.36.125.2     Europe
      gopher.sunet.se           192.36.125.10    Sweden
      info.anu.edu.au           150.203.84.20    Australia
      tolten.puc.cl             146.155.1.16     South America
      ecnet.ec		       157.100.45.2     South America
      gan.ncc.go.jp             160.190.10.1     Japan

      It is recommended that you run the client software instead of
      logging into the public login sites.  A client uses the
      custom features of the local machine (mouse, scroll bars, etc.)
      and gives faster response.

---------------------------------------------------------------------
Q4:  How can I add to the information in gopher?

A4:  You can do this by running a gopher server. Servers are available
      for a number of systems. There are various cool servers out there.

      There are several sites that have VMS server binaries, including:

         psualias.psu.edu, via gopher
         niord.shsu.edu, via FTP, precompiled executables
         trln.lib.unc.edu, via gopher

      When you have your server ready you can publish it to the world by
      sending e-mail to the maintainters of the "Other gophers" list.
      See Q27 for details.

---------------------------------------------------------------------
Q5:  Who Develops Gopher Software?

A5:  Gopher was originally developed in April 1991 by the University
      of Minnesota Microcomputer, Workstation, Networks Center to help
      the campus find answers to their computer questions.

      It has since grown into a full-fledged World Wide Information
      System used by a large number of sites in the world.

      Many people have contributed to the project, too numerous to
      count.

-------------------------------------------------------------------
Q9:  What are the type characters for the different Gopher Objects?

A9:  The following is a list of known/used Gopher types

      0       Item is a file
      1       Item is a directory
      2       Item is a CSO (qi) phone-book server
      3       Error
      4       Item is a BinHexed Macintosh file.
      5       Item is DOS binary archive of some sort.
      6       Item is a UNIX uuencoded file.
      7       Item is an Index-Search server.
      8       Item points to a text-based telnet session.
      9       Item is a binary file
      T       TN3270 connection.
      s       Sound type.  Data stream is a mulaw sound.
      g       GIF type.
      M       MIME type.  Item contains MIME data.
      P       PDF file
      h       html type (or http link).
      I       Image type.
      i       "inline" text type
      ;       Video file

-------------------------------------------------------------------
Q10: When I do full-text searches I always get every document back, Why?

A10: This is a problem occasionally encountered with Unix full-text
      indexes.  It is caused by setting up the link incorrectly to a
      gindexd port.

      The Path= field should be *blank* when pointing to a gindexd
      index.

      Otherwise the client will send the path to the gindexd daemon,
      which interprets everything as a keyword.  This path is
      likely to contain a pathname that is common to all of the indexed
      files.  Thus a search generates hits on everything.

      Note that gindexd isn't used much anymore, this question does not
      apply if you are using the built in indexing in the Unix gopher
      server.

-------------------------------------------------------------------
Q11: When I try to build the UNIX software I get an error from make:
      "Must be a separator on rules line #. Stop"  Why?

A11: This is a problem with older makes that don't understand the "include"
      keyword.  One easy way to cope with this problem is compiling GNU
      make, which does understand the include keyword.

      If this is too difficult, remove the line:

       include Makefile.config

      from all the Makefiles and paste in a copy of Makefile.config at
      the top of each Makefile.

      Or, instead of pasting you can make the client/server by going
      into the appropriate directory and typing:

       make -f ../Makefile.config -f Makefile

-------------------------------------------------------------------
Q12: What is the relationship between Gopher and (WAIS, WWW, ftp)?

A12: Gopher is intimately intertwined with these other systems.
      As shipped the Unix gopher server has the capability to:

        - Search local WAIS indices.
        - Query remote WAIS servers and funnel the results to gopher
          clients.
        - Query remote ftp sites and funnel the results to gopher
          clients.
        - Be queried by WWW (World Wide Web) clients either using
          built in gopher querying or using native http querying.

-------------------------------------------------------------------
Q13: Are papers or articles describing Gopher available?

A13: Gopher has a whole chapter devoted to it in :

      _The_Whole_Internet_users_guide_and_catalog by Ed Krol
        (publisher O'Reilley & Associates, Inc; ISBN: 1-56592-025-2).
        (Editors note: ...Great book, go out and buy a bunch!)

      _The_Internet_Passport: NorthWestNet's Guide to Our World Online"
        By Jonathan Kochmer and NorthWestNet. Published by NorthWestNet,
        Bellevue, WA. 1993. 516 pp. ISBN 0-9635281-0-6.
        Contact info: passport@nwnet.net, or (206) 562-3000

      _A_Students_Guide_to_UNIX by Harley Hahn. (publisher McGraw Hill,
        Inc.; 1993 ISBN 0-07-025511-3)

      _Intelligent_Information_Retrieval:_The_Case_of_Astronomy_and_
        _Related_Space_Sciences (A. Heck and F. Murtagh, editors). Published
        by Kluwer Academic Publishers, P.O. box 17, 3300 AA Dordrecht, the
        Netherlands. ISBN: 0-7923-2295-9

      Most books about the internet include a chapter or two about
      Gopher.  Your local bookstore should have a wide selection.

      Other references include:

      _The_Internet_Gopher_, "ConneXions", July 1992, Interop.

      _Exploring_Internet_GopherSpace_ "The Internet Society News", v1n2 
1992,

      (You can subscribe to the Internet Society News by sending e-mail to
       isoc@nri.reston.va.us)

      _The_Internet_Gopher_Protocol_, Proceedings of the Twenty-Third
           IETF, CNRI, Section 5.3

      _Internet_Gopher_, Proceedings of Canadian Networking '92

      _The_Internet_Gopher_, INTERNET: Getting Started, SRI
           International, Section 10.5.5

      _Tools_help_Internet_users_discover_on-line_treasures, Computerworld,
           July 20, 1992

      _TCP/IP_Network_Administration_, O'Reilly.

       Balakrishan, B. (Oct 1992)
         "SPIGopher: Making SPIRES databases accessible through the
       Gopher protocol".  SPIRES Fall '92 Workshop, Chapel Hill, North
       Carolina.

       Tomer, C.  Information Technology Standards for Libraries,
       _Journal of the American Society for Information Science_,
       43(8):566-570, Sept 1992.


-------------------------------------------------------------------
Q14: On a DECstation I get the error message "/etc/svc.conf no such file
      or directory" when running the gopherd server, why?

A14: This is caused by the chroot() call in gopherd.  It can be easily
      fixed by running gopherd with the -c option.

      Alternatively you can copy /etc/svc.conf into a directory named
      "etc" inside the gopher-data directory.

-------------------------------------------------------------------
Q15: The boolean searching terms don't work for my full-text index, why?

A15: This is probably because the searching is being provided by WAIS.
      WAIS opts to return all documents that contain a search phrase
      within certain limits.  WAIS searches do return the documents with
      the highest "score" at the top, those documents will have the
      closest relevance.

      Alternatively you could get a booleanized version of wais from
      ftp.bio.indiana.edu, or get a version of freeWAIS.

      WAIS source code is mirrored on boombox.micro.umn.edu

-------------------------------------------------------------------
Q16: When linking the Unix gopher server with WAIS I get undefined
      symbols,
        such as:

          log_file_name
          logfile
          PrintStatus
          find_value
          Sources
          NumSources

A16: This happens if you make gopherd before linking in the WAIS ir/ui
      directories.  The fix is to "make clean" or remove
      gopherd/{waisgopher.o,Waisindex.o}	and then remake gopherd.  Or
      link the ir/ui directories first.

-------------------------------------------------------------------
Q18: Why don't my WAIS indexes work?  I never get anything back for 
searches.
      or Why do I get "Dangling file" error messages in my logfile?

A18: The problem could be in the server.  The server should be run
      using the -c option if you want WAIS to work.  Another solution is to
      patch the WAIS code so that it doesn't check the files on the disk.
      Search the gopher-news archive for "dangling".  This will turn up a
      single document with the patch.

-------------------------------------------------------------------
Q19: My gopher server doesn't work under inetd, why?

A19: It could be that your inetd server only supports a limited amount
      of arguments.  For instance, the maximum number of arguments to an
      inetd server is 5.  You can get around this by combining 
arguments: i.e.

        gopherd -I -c

      becomes:

        gopherd -Ic

      You may also leave the port specifier off of the command line.
      The gopher server automagically finds out the port it's running on.

      Another way around this is to use a 'shell-script' wrapper.  Make
      a shell script that starts gopher with the options you want, then
      put the name of the shell script in the inetd.conf file.

-------------------------------------------------------------------
Q20: This is not a bug report, just a curiousity. I managed to install
      gopher on my PC, more or less by myself, which is a pretty good
      accomplishment, for someone who hasn't installed hardly anything on a
      PC. I then proceeded to load my PC/TCP kernel, ETHDRV, and try to
      start up gopher. It said it couldn't initialize that stack(?). I have
      to load this whenever I use PC/TCP. Incredibly, when I did not load
      ETHDRV, Gopher came up immediately and telneted to our local server.
      How does it know what kernel to load?

A20 Dr. Science says,

      The Internet Gopher program is not actually computer program at
      all, but a collection of magical incantations handed down from Dark
      Age conjurors.  It works by sending magical "demons" through the air,
      which scour the world for information, and then return to cast
      illusions containing the answer.

      When you use the Gopher, your computer isn't actually doing
      anything at all.  Instead, these demons have mesmerized you with an
      evil magical spell, which was invoked by the pattern of
      finger-movements peculiar to the typing of the letters G-O-P-H-E-R on
      your keyboard.  This spell transmits demonic information directly to
      your brain.

      Scientists aren't certain of the long-term effects of demonic
      mesmirization, although former presidents have suffered only minor
      medical side-effects from it.  Indeed, since Magic and Science are
      usually opposed to each other, most Scientists are usually
      close-minded about such issues, and will usually respond with some
      vacuous non-answer about "packet drivers", "stacks", and other such
      jargon.

      Unlike conventional scientists, Dr. Science is very open-minded and
      is willing to deal with such issues in a frank and honest manner.
      This is why people come to him with questions, and why they've learned
      to rely on and live by his answers.

      Dr. Science
          "I'm not a real doctor;  I have a Master's Degree....  in 
SCIENCE!"

      :-) :-) :-) :-)
      There's always room for a little humor in a FAQ..
-------------------------------------------------------------------
Q21: Help!  I have PC-NFS and want to use the PC-Gopher client.  How?

A21: Use a piece of software called PKTMUX, available at fine ftp
      sites everywhere.  This will let you use any packet driver
      application.

      Or, aquire a client that supports PC-NFS.  See Q2.

      Or, get the winsock libraries for your system and run a Windows
      gopher client.

-------------------------------------------------------------------
Q22: How do I nuke a hung TCP connection?  I can't restart my UNIX
      gopher server unless I get rid of it, and I don't want to reboot!

A22: Here is an example of using dbx to change a socket from CLOSING to
      CLOSED.

       # netstat -A|grep CLOSING
       c4bc5100 tcp        0     11  mymachine.gopher 129.89.8.4.70  CLOSING
       # dbx -k /vmunix /dev/mem
       ...
       (dbx) 0xc4bc5100+8/1X                  -- display contents of PCB+8
       c4bc5108:   00000007
       (dbx) assign 0xc4bc5108=0              -- zero it
       0
       (dbx) q

After a minute or two, the CLOSED socket should disappear.

-------------------------------------------------------------------
Q23: Is there somewhere I can retrieve a list of announced gopher
      links?  I'd like to keep a local, up-to-date list of available gopher
      holes without requiring our users to gopher to umn just to scan
      GopherSpace.

A23: In the Unix client/server distribution is a perl script called
      "gopherdist". Gopherdist can fetch the contents of any point in
      GopherSpace.

      To dump the contents of all the North American links from
      gopher.tc.umn.edu do the following:

      % gopherdist gopher.tc.umn.edu 70 "1/Other Gopher and Information
        Servers/North America" > .Links

-------------------------------------------------------------------
Q24: Why doesn't my unix gopher client display ISO-Latin-1 characters
      properly?

A24: It is the client's problem, the server is perfectly 8-bit transparent.
      The BSD curses library uses bit 8 in order to remember, whether a
      character has been displayed reverse.  On a SunOS 4.x you can use
      the System V compiler: /usr/5bin/cc and you will get the System V
      curses version which is 8 bit clean.

      On other operating systems you should contact the vendor for
      assistance.

-------------------------------------------------------------------
Q25: What is Veronica?

A25: Veronica:  Very Easy Rodent-Oriented Net-wide Index to
      Computerized Archives.

      Veronica offers a keyword search of most gopher-server menu titles
      in the entire gopher web.  As archie is to ftp archives, veronica
      is to gopherspace.  A veronica search produces a menu of gopher
      items, each of which is a direct pointer to a gopher data source.
      Because veronica is accessed through a gopher client, it is easy
      to use, and gives access to all types of data supported by the
      gopher protocol.

      To try Veronica, you could point your gopher at:

      <URL:gopher://gopher.floodgap.com/1/v2>

------------------------------------------------------------------
Q26: What e-mail discussions lists are active for Gopher?

A26: There are a couple of places where Gopher software and
      development is discussed.

      The mailing list gopher-project@lists.alioth.debian.org is
      the biggest discussion list. To subscribe go to:

        <URL:http://lists.alioth.debian.org>

      Gopher discussions also takes place on the USENET newsgroup
      comp.infosystems.gopher.

      A newsgroup for VMS developers is also available, at:
      vmsnet.infosystems.gopher

------------------------------------------------------------------
Q28: Where is the registered list of Gopher+ view types?

A28: Gopher+ view types are the same as MIME email media types.

     It's available via http from:

       <URL:http://www.iana.org/assignments/media-types/>

------------------------------------------------------------------
Q29: How do I use WAIS indices with my gopherd server without -c?

A29:  The problem with WAIS Indices is that they store the full
       pathname inside of the inverted index. Thus if your
       documents are in /usr/local/gopher-data/waisdocs/text, that
       whole path will be kept in the index.

       However, when using chroot(), a whole portion of the path is
       chopped off and the directory /usr/local/gopher-data
       effectively becomes '/'.

       To circumvent this problem you can use a symbolic link to
       make the removed directory structure inside of the
       gopher-data directory. In this case you would do the
       following:

          cd /usr/local/gopher-data
          mkdir usr
          cd usr
          mkdir local
          cd local
          ln -s / gopher-data

       Then when the pathname /usr/local/gopher-data/wais/text is
       looked up the symbolic link will put you in the correct
       place..

------------------------------------------------------------------
Q30: Why would I use gopher today? Isn't http better?

A30: Today there are two major protocols being used on the
      Internet, HTTP (commonly referred to as the World Wide Web),
      and FTP (the File Transfer Protocol). Http is the defacto
      standard of presenting Internet information today. This is
      because most casual Internet users prefer to be presented
      with information as if it were a page from a "magazine".

      The http protocol cannot effectively distribute files
      however, whether they be documents (*.txt for example) or
      programs (*.exe for example).
      To distribute files, most administrators turn to FTP. FTP is
      a poor choice though. The protocol was developed in the
      1960's, and has both the disadvantages of being convoluted
      and vulnerable to self-corruption.

      What FTP can do, Gopher can do far better.  Not only can it
      distribute files fast and effectively, the Gopher protocol
      makes it easy to organize files.  With Gopher you not only
      can arrange your files in a manner that makes it easy for
      end users to find their file easily, but you can include
      descriptive files and commentary to help them further.
      Furthermore, you are also no longer forced to have persons
      log into different servers to download their files, as you
      can simply add a hyperlink to the server that contains the
      desired file.

      Once persons STOP thinking of Gopher as a poor version of
      HTTP, and START thinking of Gopher as a superior version of
      FTP (which it was invented to be); Gopher will be seen as a
      very useful protocol for the modern Internet.

------------------------------------------------------------------
Q31: What is this CAPS.TXT mechanism good for?

A31: CAPS is an informal extension to the gopher protocol, that
      provides a few bits of information about the gopher server
      being browsed and its capabilities. The reason this was done
      was initially so that a server could tell a client how to
      parse selectors in its filesystem, and cut these selectors
      properly. Since then, other information have been added to
      CAPS as well.

      CAPS
      # These four characters must be at the beginning to identify
      # the file.

      # To use this file, customize it and place it in your server's
      # root mountpoint such that a fetch for selector "caps.txt"
      # will retrieve it. All keys are optional.

      # Spec version of this caps file. This should be the first key
      # specified so that an incompatible later format might be
      # detected by the client.
      CapsVersion=1

      # This tells the client the recommended caps cache expiry
      # time, in seconds.
      ExpireCapsAfter=3600

      # This tells the client how to cut up a selector into a
      # breadcrumb menu. This is a simple ASCII string. If not
      # specified, the selector is considered opaque. The client
      # may collapse consecutive delimiters (e.g., x//y is treated
      # as x/y) except if PathParentDouble is true (for Mac).
      PathDelimeter=/

      # This tells the client what the "identity" path is, i.e.,
      # it can treat this as a no-op, turning x/./y into x/y. If
      # not specified, the literal path . is used.
      PathIdentity=.

      # This tells the client what the parent path is, i.e., it can
      # treat this as a path instruction to delete previous path,
      # turning x/y/../z into x/z. If not specified, the literal
      # path .. is used.
      PathParent=..

      # This tells the client that consecutive path delimeters are
      # treated as parent (mostly for Mac HFS prior to Mac OS X),
      # e.g., turning MacHD:x:y:::z into MacHD:z. If not specified,
      # it defaults to FALSE.
      PathParentDouble=FALSE

      # This tells the client the escape character for quoting the
      # above metacharacters. Most of the time this is \. If not
      # specified, no escape characters are used.
      PathEscapeCharacter=\

      # This tells the client not to cut everything up to the first
      # path delimeter. Normally caps makes gopher://x/11/xyz and
      # gopher://x/1/xyz both into /xyz assuming your server is
      # happy with the latter URL (almost all will be). If not
      # specified, it is by default FALSE. Should be TRUE *only* if
      # your server requires URLs like gopher://x/0xyz (i.e., the
      # selector NOT starting with the path delimiter).
      PathKeepPreDelimeter=FALSE

      # Freetext description of the server software and server hardware.
      ServerSoftware=GopherServer
      ServerSoftwareVersion=1.0
      ServerArchitecture=i686
      ServerDescription=VIA C3, 800 MHz CPU, 128 MB RAM
      ServerGeolocationString=Southern California, USA

      # Special server features.
      ServerSupportsStdinScripts=TRUE

      # An E-mail contact for the server.
      ServerAdmin=gopher@floodgap.com

      # The charset used by default on this server
      ServerDefaultEncoding=UTF-8

------------------------------------------------------------------
Q32: What charset should I use on my gopher server?

A32: Historically, the RFC1436 states that gopher servers should
      stick to low ASCII, or use ISO-8859-1 if ASCII is not enough.
      This is, however, a constraint that is unacceptable to many
      gopher server's owners, because many languages use characters
      unavailable in ISO-8859-1. For a long time this required
      gopher users to adjust their browser so it rendered the
      content of such "non-standard" gopher servers correctly.
      Currently, the gopher server can advertise the charset it
      uses via a CAPS capability (see Q31). Since for the past
      decades the UTF-8 encoding became ubiquitous, we can only
      naturally advise to use it whenever ASCII is not enough.

------------------------------------------------------------------
Q33: How can a gopher client recognize that a selector returned
      an error (for example, because the resource doesn't exist)?

A33: Actually, you can't. Not in any reliable way, at least. Error
      handling in the gopher protocol is broken by design. Usually,
      on error condition most (all?) gopher servers return a short
      gopher menu with at least one error item in it (type 3).
      Hence a possible way to detect errors *could* be to parse the
      output, and if the result is relatively short, looks like a
      gopher menu, and contains one or more error items, then you
      might assume the server returned an error condition. But we
      talk about heuristic here, not any bullet-proof error
      reporting because, as stated above - error handling in the
      gopher protocol is broken by design.


[EOF]
