URI::compare¶
Description¶
Compares two URI’s as recommended by RFC2616 section 3.2.3.
ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt
3.2.3 URI Comparison
When comparing two URIs to decide if they match or not, a client
SHOULD use a case-sensitive octet-by-octet comparison of the entire
URIs, with these exceptions:
- A port that is empty or not given is equivalent to the default
port for that URI-reference;
- Comparisons of host names MUST be case-insensitive;
- Comparisons of scheme names MUST be case-insensitive;
- An empty abs_path is equivalent to an abs_path of "/".
Characters other than those in the "reserved" and "unsafe" sets (see
RFC 2396 [42]) are equivalent to their ""%" HEX HEX" encoding.
For example, the following three URIs are equivalent:
http://abc.com:80/~smith/home.html
http://ABC.com/%7Esmith/home.html
http://ABC.com:/%7esmith/home.html
Examples¶
when HTTP_REQUEST {
set uri_to_check "/dir1/somepath"
if { [URI::compare [HTTP::uri] $uri_to_check] } {
log local0. "URI's are equal!"
}
}