What do * / ( and [ mean in the rfc 3986 URI syntax description?

123 Views Asked by At

Reading through the URI syntax description (RFC 3986) and trying to understand what their syntax descriptions mean.

For example, a URI has to have a schema part, which is restricted by the following syntax description:

scheme      = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )

But the specification never tells you what * ( and / mean. Anything in quotations seems to mean exactly that character and ALPHA and DIGIT are seemingly the sets of ASCII characters pertaining to the alphanumeric set. I am guessing / is an or, ( may be a group, and * may be 0 or more. But it is not clarified in the specification.

There are other syntax descriptions like:

URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

I am also guessing the [ means that part is optional.

Does anybody know if my interpretation is correct? And would you be able to point me to the RFC specification of these characters?

2

There are 2 best solutions below

0
On BEST ANSWER

These are all well described in RFC 5234 which is the Augmented BNF format.

0
On

It is a grammar Backus-Naur-like grammar.