Tech-
invite
3GPP
specs
Glossaries
IETF
RFCs
Groups
SIP
ABNFs
T
i
+
Search
SIP
SIP URIs
SIP Headers
SIP P‑Headers
SDP
HTTP
Generic URI
IRI
IMF
RTSP
ABNF Notation
IRI (Internationalized Resource Identifier) Syntax –
RFC 3987
IRI Reference
iAuthority
iPath
iQuery
iFragment
iCharacters
RFC 3987 IRI — IRI Reference
ABNF in Section 2.2
IRI-reference
=
IRI
/
irelative-ref
IRI
=
scheme
"
:
"
ihier-part
[ "
?
"
iquery
] [ "
#
"
ifragment
]
absolute-IRI
=
scheme
"
:
"
ihier-part
[ "
?
"
iquery
]
irelative-ref
=
irelative-part
[ "
?
"
iquery
] [ "
#
"
ifragment
]
ihier-part
=
"
//
"
iauthority
ipath-abempty
/
ipath-absolute
/
ipath-rootless
/
ipath-empty
irelative-part
=
"
//
"
iauthority
ipath-abempty
/
ipath-absolute
/
ipath-noscheme
/
ipath-empty
IRI Reference
iAuthority
iPath
iQuery
iFragment
iCharacters
RFC 3987 IRI — iAuthority
iauthority
=
[
iuserinfo
"
@
" ]
ihost
[ "
:
"
port
]
RFC 3987 IRI — iauthority / iuserinfo
iuserinfo
=
*(
iunreserved
/
pct-encoded
/
sub-delims
/ "
:
" )
RFC 3987 IRI — iauthority / ihost
ihost
=
IP-literal
/
IPv4address
/
ireg-name
ireg-name
=
*(
iunreserved
/
pct-encoded
/
sub-delims
)
IRI Reference
iAuthority
iPath
iQuery
iFragment
iCharacters
RFC 3987 IRI — iPath
ipath
=
ipath‑abempty
/
; begins with "/" or is empty
ipath‑absolute
/
; begins with "/" but not "//"
ipath‑noscheme
/
; begins with a non‑colon segment
ipath‑rootless
/
; begins with a segment
ipath‑empty
; zero characters
ipath-abempty
=
*( "
/
"
isegment
)
ipath-absolute
=
"
/
" [
isegment‑nz
*( "
/
"
isegment
) ]
ipath-noscheme
=
isegment‑nz‑nc
*( "
/
"
isegment
)
ipath-rootless
=
isegment‑nz
*( "
/
"
isegment
)
ipath-empty
=
0<
ipchar
>
isegment
=
*
ipchar
isegment-nz
=
1*
ipchar
isegment-nz-nc
=
1*(
iunreserved
/
pct‑encoded
/
sub‑delims
/ "
@
" )
; non-zero-length segment without any colon ":"
ipchar
=
iunreserved
/
pct-encoded
/
sub-delims
/ "
:
" / "
@
"
IRI Reference
iAuthority
iPath
iQuery
iFragment
iCharacters
RFC 3987 IRI — iQuery
iquery
=
*(
ipchar
/
iprivate
/ "
/
" / "
?
" )
IRI Reference
iAuthority
iPath
iQuery
iFragment
iCharacters
RFC 3987 IRI — iFragment
ifragment
=
*(
ipchar
/ "
/
" / "
?
" )
IRI Reference
iAuthority
iPath
iQuery
iFragment
iCharacters
RFC 3987 IRI — iCharacters
iunreserved
=
ALPHA
/
DIGIT
/ "
-
" / "
.
" / "
_
" / "
~
" /
ucschar
ucschar
=
%xA0-D7FF /
%xF900-FDCF /
%xFDF0-FFEF /
%x10000-1FFFD /
%x20000-2FFFD /
%x30000-3FFFD /
%x40000-4FFFD /
%x50000-5FFFD /
%x60000-6FFFD /
%x70000-7FFFD /
%x80000-8FFFD /
%x90000-9FFFD /
%xA0000-AFFFD /
%xB0000-BFFFD /
%xC0000-CFFFD /
%xD0000-DFFFD /
%xE1000-EFFFD
iprivate
=
%xE000-F8FF /
%xF0000-FFFFD /
%x100000-10FFFD