obonaventure / cnp3

Computer Networking : Principles, Protocols and Practice (first and second edition, third edition is being written on https://github.com/cnp3/ebook)
https://www.computer-networking.info
508 stars 91 forks source link

URI format dans mcq-app.rst #186

Closed sCreami closed 8 years ago

sCreami commented 9 years ago

Dans le QCM sur les applications internet, une question demande de sélectionner les adresses au format URI valide.

Une des propositions notée correcte est http://example.com@/example.net/test.com et je me pose la question de la validité de cet exemple. Vous référencez le document RFC 3986 contenant la standardisation des URI.

Pour citer l'appendix A reprenant la grammaire du format. Nous pouvons lire qu'une URI suit la forme : URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] où le hier-part peut valoir : hier-part = "//" authority path-abempty où encore ici l'authority peut valoir : authority = [ userinfo "@" ] host [ ":" port ]

Pour en revenir à l'url d'exemple. Je peux en déduire que exemple.com prend la place du userinfo dans la grammaire et que donc, ce qui suit l'arobase doit être l'host. Mais le slash qui suit l'arobase est noté comme un gen-delims dans la grammaire. Or l'host peut être un IP-literal / IPv4address / reg-name dont aucun de ces élements n'est composé de gen-delims. J'en déduis donc que l'host est manquant dans cet exemple.

Selon la section 3.2.2. Host du RFC 3986 page 21.

If the URI scheme defines a default for host, then that default applies when the host subcomponent is undefined or when the registered name is empty (zero length). For example, the "file" URI scheme is defined so that no authority, an empty host, and "localhost" all mean the end-user's machine, whereas the "http" scheme considers a missing authority or empty host invalid.

Dans le cas du protocol http, le manque d'host rendrait l'URI invalide. Étant donné mes recherches, je pense que le slash suivant l'arobase combiné avec le protocol http rend cet URI invalide. Mais étant un néophyte dans ce domaine, j'aimerai l'avis d'une personne plus expérimentée.