h_type.txt - gopher-protocol - Gopher Protocol Extension Project
 (HTM) git clone git://bitreich.org/gopher-protocol git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/gopher-protocol
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
       h_type.txt (5305B)
       ---
            1 Received: with LISTAR (v1.0.0; list gopher); Tue, 12 Feb 2002 14:19:47 -0500 (EST)
            2 Return-Path: <jgoerzen@complete.org>
            3 Delivered-To: gopher@complete.org
            4 Received: from erwin.complete.org (pcp947166pcs.cstltn01.in.comcast.net [68.58.145.248])
            5         (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits))
            6         (Client CN "erwin.complete.org", Issuer CN "John Goerzen -- Root CA" (verified OK))
            7         by pi.glockenspiel.complete.org (Postfix) with ESMTP
            8         id 4FE9F3B860; Tue, 12 Feb 2002 14:19:47 -0500 (EST)
            9 Received: by erwin.complete.org (Postfix, from userid 1000)
           10         id 6E73775836; Tue, 12 Feb 2002 14:19:46 -0500 (EST)
           11 To: gopher@complete.org
           12 Subject: [gopher] Links to URL
           13 References: <200202120132.RAA11190@stockholm.ptloma.edu>
           14 From: John Goerzen <jgoerzen@complete.org>
           15 Date: 12 Feb 2002 14:19:46 -0500
           16 In-Reply-To: <200202120132.RAA11190@stockholm.ptloma.edu>
           17 Message-ID: <878z9yik31.fsf@complete.org>
           18 Lines: 103
           19 User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)
           20 MIME-Version: 1.0
           21 Content-type: text/plain; charset=us-ascii
           22 Content-Transfer-Encoding: 8bit
           23 X-archive-position: 439
           24 X-listar-version: Listar v1.0.0
           25 Sender: gopher-bounce@complete.org
           26 Errors-to: gopher-bounce@complete.org
           27 X-original-sender: jgoerzen@complete.org
           28 Precedence: bulk
           29 Reply-to: gopher@complete.org
           30 List-help: <mailto:listar@complete.org?Subject=help>
           31 List-unsubscribe: <mailto:gopher-request@complete.org?Subject=unsubscribe>
           32 List-software: Listar version 1.0.0
           33 X-List-ID: Gopher <gopher.complete.org>
           34 List-subscribe: <mailto:gopher-request@complete.org?Subject=subscribe>
           35 List-owner: <mailto:jgoerzen@complete.org>
           36 List-post: <mailto:gopher@complete.org>
           37 List-archive: <http://www.complete.org/mailinglists/archives/>
           38 X-list: gopher
           39 
           40 I think it is best to start small with modifications to the protocol.
           41 Therefore, I propose the following:
           42 
           43 Method to link to URLs from Gopherspace
           44 ---------------------------------------
           45 
           46 1. Protocol issues
           47 
           48 Links to URLs from a gopher directory shall be defined as follows:
           49 
           50  Type -- the appropriate character corresponding to the type of the
           51  document on the remote end; h if HTML.
           52 
           53  Path -- the full URL, preceeded by "URL:".  For instance:
           54          URL:http://www.complete.org/
           55 
           56  Host, Port -- pointing back to the gopher server that provided
           57  the directory for compatibility reasons.
           58 
           59  Name -- as usual for a Gopher directory entry.
           60 
           61 2. Conforming client requirements
           62 
           63 A client adhering to this specification will, when it sees a Gopher
           64 selector with a path starting with URL:, interpret the path as a URL.
           65 It will ignore the host and port components of the Gopher selector,
           66 using those components from the URL instead (if applicable).
           67 
           68 3. Conforming server requirements
           69 
           70 A server with Gopher URL support will not, in most cases, need to take
           71 extra steps to provide this support beyond those outlined in
           72 Compatibility below.  Servers not implementing those steps outlined in
           73 Compatibility will be deemed to be not in compliance.
           74 
           75 4. Authoring compliance
           76 
           77 The use of URL: selectors should be avoided wherever possible.  In
           78 particular, it should be avoided when pre-existing gopher facilities
           79 exist for the type of content linked.  The following URL types are
           80 explicitly prohibited by this specification:
           81 
           82   gopher
           83   telnet
           84   tn3270
           85 
           86 Authors should avoid links to any document not of HTML type whenever
           87 possible.  Linking to non-HTML documents will break compatibility with
           88 Gopher browsers that do not implement this specification.  The ranks
           89 of these browsers include most Web browsers, so that is a significant
           90 audience.
           91 
           92 5. Compatibility
           93 
           94 Links to HTML pages may be accomodated even for non-comforming
           95 browsers by providing additional capabilities in the server.
           96 
           97 When a non-conforming browser is instructed to follow a link to a URL,
           98 it will contact the Gopher server that provided the menu (since these
           99 are specified per section 1).
          100 
          101 When a conforming Gopher server receives a request whose path begins
          102 with URL:, it will write out a HTML document that will send the
          103 non-compliant browser to the appropriate place.  One such conforming
          104 document is:
          105 
          106   <HTML>
          107   <HEAD>
          108   <META HTTP-EQUIV="refresh" content="2;URL=http://www.acm.org/classics/">
          109   </HEAD>
          110   <BODY>
          111   You are following a link from gopher to a web site.  You will be
          112   automatically taken to the web site shortly.  If you do not get sent
          113   there, please click
          114   <A HREF="http://www.acm.org/classics/">here</A> to go to the web site.
          115   <P>
          116   The URL linked is:
          117   <P>
          118   <A HREF="http://www.acm.org/classics/">http://www.acm.org/classics/</A>
          119   <P>
          120   Thanks for using gopher!
          121   </BODY>
          122   </HTML>
          123 
          124 This document may be any desired by the server authors, but must
          125 adhere to these requirements:
          126  * It must provide a refresh of a duration of 10 seconds or less
          127  * It must not use IMG tags, frames, or have any reference whatsoever
          128    to content outside that particular file -- other than the link
          129    to the real destination.
          130  * It must not use JavaScript.
          131  * It must adhere to the W3C HTML 3.2 standard.
          132 
          133 When a non-conforming Gopher client finds a reference to a HTML file
          134 (type h), it will open up the file via Gopher (getting the redirect
          135 document) but using a web browser.  The web browser will then be
          136 redirected to the actual link destination.  Conforming clients will
          137 follow the link directly.
          138 
          139 END
          140 
          141 
          142 Comments?
          143