Est-ce que link / href avec juste des parameters (commençant par un point d’interrogation) est valide?

Ce lien est-il valide?

eng 

Je sais que les navigateurs le traitent comme prévu et je sais que le lien vide serait correct aussi – mais est-il correct de ne spécifier que les parameters?

Je suis curieux car le point d’interrogation (“?”) N’est qu’une convention par la plupart des serveurs HTTP (AFAIK), même si j’admets que c’est un avantage.

Donc, pour récapituler:

  1. tous les navigateurs vont-ils interpréter cela correctement?

  2. est-ce dans RFC?

  3. puis-je m’attendre à des problèmes d’utilisation?

UPDATE: l’action prévue sur le clic est de redirect vers la même page, mais avec des parameters GET différents (“lang = fr” dans l’exemple ci-dessus).

Oui, ça l’est.
Vous pouvez le trouver dans RFC 1808 – Localisateurs de ressources uniformes relatifs :

Dans un object avec une URL de base bien définie de
Base:
les URL relatives seraient résolues comme suit:

5.1. Exemples normaux

?y =

RFC 3986 – Uniform Resource Identifier (URI): la syntaxe générique est la même et ajoute plus de détails, y compris la grammaire:

 relative-ref = relative-part [ "?" query ] [ "#" fragment ] relative-part = "//" authority path-abempty / path-absolute / path-noscheme / path-empty #; zero characters 

Maintenant, cela ne veut pas dire que tous les navigateurs l’implémentent conformément à la norme, mais il semble que cela soit sûr.

Oui – et il va bash l’URL actuelle avec les parameters que vous passez.

Il est très pratique à utiliser dans les situations où vous voulez vous assurer que vous ne traversez pas les limites actuelles de la page / du formulaire et que vous continuez à bash le même ActionMethod ou ce que vous écoutez avec des parameters différents.