Another non-standard that many libraries get wrong is that they turn encoded URI slashes from %2F back into a slash before path matching, which massively affects your ability to put identifers (such as academic DOIs) into the path. That's a pretty devestating discovery when you're 3/4 of the way through rewriting a legacy service (as I find out personally a few years ago with python).