Text 1052, 336 rader
Skriven 2007-10-14 00:27:32 av Mithgol the Webmaster (2:5063/88)
Ärende: [3/11] FidoURL.txt
==========================
* originally in FTSC_Public
* also sent to GanjaNet.Local
* also sent to Ru.Fido.WWW
* also sent to Ru.FTN.Develop
* also sent to SU.FidoTech
* also sent to Titanic.Best
textsection 3 of 11 of file FidoURL.txt
textbegin.section
To avoid the ambiguity of "%%%", an URL MUST NOT be broken
immediately after or immediately before any of "%" characters
that belong to the URL.
Good example:
fecho://example/%D0%A4%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%D%%
%%1%82.txt
Examples of mistakes:
fecho://example/%D0%A4%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%D1%%
%%%82.txt
fecho://example/%D0%A4%D0%B8%D0%B4%D0%BE%D0%BD%D0%B5%%%
%%D1%82.txt
The URL parser MUST be allowed to find where an URL starts.
In order to fulfil this expectation, an URL MUST NOT be broken
before the first colon (not only immediately before the first
colon, but anywhere in the scheme name as well), unless
the URL is written somewhere in the place where an URL is
always expected (for example, in HREF="..." attribute of
a LINK element in HTML echomail).
Fidonet URL parsers SHOULD allow the same "%%"-marked
line breaks even in the URLs that are based on schemes
not defined in FGHI URL standard; for example, in traditional
Internet URLs (http://, ftp://, mailto:, news:, nntp://, etc.)
and in modern URLs (like ed2k://, file://, skype:, etc.). This
is RECOMMENDED to satisfy the general need for linebreaking in
URLs in Fidonet mail, not only in Fidonet-related URLs.
Example:
ed2k://|file|fidopoyka_24_09_06(DivX5_512x384).avi|871219%%
%%20|8A706F58C5C7CF6EBA28561A53D60E70|/
Though other schemes generally have other sets of reserved and
unsafe characters (for example, in ed2k:// URLs the character
"|" is not treated as unsafe, and in Skype URLs like
"skype:+79184436168" the character "+" is not reserved),
the character "%" is widely used in "%xx" hexadecimal encoding
of octets. This means that "%%" sequence is always unsafe in
such URLs, and thus always MAY be used as our line break
marker; this also means that the ambiguity of "%%%" MAY always
be avoided as described above.
5.3. Parsing the scheme-specific part of URL
-+------------------------------------------
As it was stated above, Fidonet URLs are written as follows:
<scheme><scheme-delimiter><scheme-specific-part>
where <scheme-delimiter> is either ":" or "://".
The <scheme-specific-part> uses the reserved character "?"
as the delimiter between required and optional part or URL:
<scheme><scheme-delimiter><required-part>?<optional-part>
The required part is REQUIRED. The optional part MAY be empty;
if the optional part is empty, the "?" character before it MAY
be omitted. If the optional part is empty and the "?" character
is present, then the "?" character MUST be ignored.
If the optional part is not empty, it consists of one or more
"parameter=value" settings, delimited by the reserved "&"
character as follows:
<setting1>&<setting2>&<setting3>&<setting4>& ... &<settingN>
However, the optional part MAY have the "&" character on URL's end
as follows:
<setting1>&<setting2>&<setting3>&<setting4>& ... &<settingN>&
(in this case the last "&" character MUST be ignored).
Each of these settings is expected to appear in "parameter=value"
form:
<parameter's name>=<parameter's value>
If the value part is omitted, then the corresponding parameter
is assigned an empty value. In this case the "=" character MAY
also be omitted. Example of such an optional part of URL:
subj=Test&path=&subscribe&to=Test+Robot
In this example, parameters "path" and "subscribe" become empty,
the parameter "subj" becomes equal to "Test" value, and the
parameter "to" becomes equal to "Test Robot" value (because "+"
represents the white space, see the corresponding section above).
Parameters specified in the optional part of URL are also optional
by nature. If a certain parameter does not appear in the given URL
at all, it takes a default value; and default values for most of
optional parameters are defined below, where the URL schemes are
enumerated.
The "parameter=value" pairs MAY have an arbitrary order
of appearance in an optional part of URL.
For example, this optional part of URL:
to=Test+Robot&path=&subj=Test&subscribe
is equivalent to the previous example.
5.3.1. Dealing with inappropriate reserved characters
-+---------------------------------------------------
The reserved character "?" MUST be used only once in a URL; if
there are many "?" in some URL, then the first appearance of "?"
SHOULD be treated as the delimiter between required and optional
parts of that URL, and the remaining "?" MAY be treated as if
they were properly encoded ("%3F" character triplets), or even
ignored.
The reserved character "=" MUST be used only once in a parameter
setting; if there are many "=" characters in some setting, then
the first appearance of "=" SHOULD be treated as the delimiter
between that parameter's name and the parameter's value; and
the remaining "=" characters, encountered before the next "&"
(or before URL's ending, if it's the rightmost "parameter=value"
pair) MAY be treated as if they were properly encoded octets of
that parameter's value ("%3D" triplets), or even ignored.
"The first appearance" means the leftmost one, because
it is natural to parse the scheme-specific part of URL
in left-to-right order.
The programs interpreting Fidonet URL MAY also stop the whole
interpreting and ignore the rest of URL after the position where
an inappropriate reserved character is first encountered. This
behaviour is especially RECOMMENDED for the programs trying to
isolate URLs from some plain text, where the white spaces and/or
other delimiters before and after URLs tend to be sometimes
omitted by chance.
6. Fidonet URL schemes designating actions
-+----------------------------------------
The URL schemes enumerated below designate resources
that are most often used in typical actions
involving netmail or echomail composed and sent.
According to the above section of delimiter guidelines,
the ":" character (and not the "://" character triplet)
SHOULD be used as the delimiter after <scheme> part of such URLs.
6.1. "netmail:" scheme
-+--------------------
The "netmail:" scheme is used to designate the Fidonet netmail
address of an individual or service. It uses standard Fidonet
addressing notation, <zone>:<net>/<node>.<point>@<domain>
(see FSP-1004 for details).
The character "/" has its literal meaning for this scheme.
The netmail URLs take the form:
netmail:<zone>:<net>/<node>.<point>@<domain>?<optional-part>
However, some parts of address ("<zone>:", "@<domain>"
and/or ".<point>") MAY be omitted (see FSP-1004 for details).
Examples:
netmail:2:5030/1520.9 (point address)
netmail:2:5063/88 (node address)
netmail:182:5043/1@forestnet (node address outside of Fido)
When a "netmail:" hyperlink is used (clicked, followed), a netmail
composer software MAY be launched. With this possibility in mind,
several optional parameters are designed for the "netmail:"
URL scheme.
6.1.1. Optional parameter "to"
-+----------------------------
The "to" optional parameter is used to designate the name of
netmail addressee. Its default value MAY be "Sysop" or "SysOp".
The default value MAY also be determined by some user setting
of the netmail composer used to process the "netmail:" URL.
Examples:
netmail:2:5063/88?to=Mithgol+the+Webmaster
netmail:2:5030/1520.9?to=Trooper
netmail:2:50/13?to=Alex%20Kocharin
6.1.2. Optional parameter "subject"
-+---------------------------------
The "subject" optional parameter is used to designate
the subject line of the netmail message composed. Its default
value is empty; the default value MAY also be determined by
some user setting of the netmail composer used to process
the "netmail:" URL.
Examples:
netmail:2:5063/88?subject=Is+the+hypertext+Fidonet+ready%3F
netmail:2:5030/830.17?subject=Yet+another+GoldEd%2b+feature
netmail:2:5030/84?to=R50EC&subject=%D0%AD%D1%85%D0%B8
6.1.3. Optional parameter "subj"
-+------------------------------
The "subj" optional parameter is used as a shorter equivalent to
the "subject" parameter. If the optional parameter "subject" is
not present in a given URL, the value of "subj" parameter MUST
be taken instead the value of "subject", provided that "subj"
is present.
Example:
netmail:2:5063/88?subj=Long+subject+may+avoid+line+wrapping+limits+:-)
6.1.4. Optional parameter "from"
-+------------------------------
The "from" optional parameter is used to designate the name of
the netmail letter's author. Its default value is usually
defined within the netmail composer settings.
Examples:
netmail:2:5030/84?to=R50EC&from=Moderator&subject=New+echo+rules
netmail:2:5024/1024?from=Moderator&subject=%5B%21%5D+read+only
6.1.5. Optional parameter "body"
-+------------------------------
The "body" optional parameter is used to designate the body part
of the netmail message composed. (Its default value is empty.)
The netmail composer MAY wrap the value of "body" parameter in
elements of some user-defined message template (user-defined
signature, greeting, etc.)
Examples:
netmail:2:5063/88?subj=About+FGHI&body=Fidonet+2.0+approached
netmail:2:50/0?subj=Complaint&body=That+sysop+is+so+annoying!
netmail:2:5030/1520.9?body=HellEd+needs+enormously+large+DLLs
6.2. "areafix:" scheme
-+--------------------
Areafixing letters is a special sort of netmail. Areafixing letter
commands an uplink node (to which the letter is addressed and sent
directly) to change some of its echomail subscription options. For
example, the downlink (who writes the letter) may request itself
to be subscribed and/or unsubscribed from certain echomail areas,
order the rescan of message base, change packer/unpacker settings,
view the list of echoes available, etc.
An echomail area is a shared base of messages that have common
areatag (area identifier) and are distributed through Fidonet
via hierarchical and/or p2p-alike connections between individual
Fidonet systems (nodes and points). See echomail specifications
in FTS-0004.
Areafixing letters usually follow a very strict scheme: they must
have the downlink's password in subject line (in order for request
to be properly authentified), and the name of a certain areafixing
robot (e.g. "AreaFix", or "AreaMgr", or "AreaLink") must be given
as the addressee name. All of these requirements are confidential
by nature, and thus the above described "netmail:" scheme can not
be used to design hyperlinks that invite to subscribe or to leave
certain Fidonet echomail areas. A separate URL scheme is needed.
The "areafix:" scheme is used to designate a Fidonet areafixing
action that involves some echomail area, or several areas.
The character "/" has its literal meaning for this scheme.
The areafix URLs takes the form:
areafix:<areatag>?<optional-part>
When "areafix:" hyperlink is used (clicked, followed), it SHOULD
launch a netmail composer (or subscription manager) software that
automatically composes the proper areafixing letter (addressed
to an uplink node and ordering subscription to the given echomail
area). However, it is RECOMMENDED that the software asks its user
to confirm the ready subscription order or cancel it
before that letter is sent.
Examples:
...if you're a developer, subscribe via areafix:SU.FidoTech
and enjoy there an endless stream of FAQs...
...join today's Fidonet life discussions, use the hyperlink
leading to areafix:Ru.Fidonet.Today
The <areatag> part of "areafix:" URL MAY contain several areatags
(separated by spaces). In this case a netmail composer (or
subscription manager) SHOULD order subscription to all of the
designated areas. However, due to security reasons of due to user
settings, "areafix:" URLs MAY be ignored completely or rendered
partially (i.e. only first N echoes) if they contain too many
areatags (the user SHOULD be notified when an encountered
"areafix:" URL is ignored or truncated).
Examples:
areafix:Ru.FTN.Develop+Ru.FTN.WinSoft
areafix:Ru.Computer.Humor%20Ru.Hutor.Filtered
areafix:Titanic.Best+Titanic.Forward%20Titanic.PVT
textend.section
With best Fidonet 2.0 regards,
Mithgol the Webmaster. [Real nodelisted name: Sergey Sokoloff]
... 154. I will instruct my Legions of Terror in proper search techniques.
--- Orcs are near! My Golded 1.1.5-b20060515 is gleaming!..
* Origin: Be careful, the paranoid ones are always wathing you!.. (2:5063/88)
|