h_type.txt - gopher-protocol - Gopher Protocol Extension Project HTML 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