Key words
The key words must, must not, required, should, should not, recommended, may, and optional, derive their meanings from RFC 2119, but have somewhat different connotations because this is a list of recommendations and not a standard.
- must, must not and required mean that an application that doesn't follow this recommendation is incorrect and has a bug that needs to be fixed.
- should, should not and recommended mean that most applications should follow this recommendation, but there are valid reasons not to.
- may and optional mean that programs are free to follow this recommendation or ignore it; there are valid reasons in either direction.