Je viens de finir de lire URL vs. URI vs. URN, in More Concise Terms, et cela m'a vraiment aidé à comprendre la distinction entre les trois termes. Depuis lors, je ai écrémé les spécifications RFC2141 et RFC2616 et la documentation Response.Redirect Method de Microsoft dans un effort pour répondre à la question suivante en toute confiance.Que fait exactement Response.Redirect ("~/...") dans la réponse HTTP?
Compte tenu de cette ligne de code:
Response.Redirect("~/Foo.aspx");
Et cette réponse HTTP résultant (parés pour le contexte):
Status = Trouvé - 302 Date = Mer 24 Nov
2010 17: 27:58 GMT
serveur = Microsoft-IIS/6.0
X-Powered-By = ASP.NET
X-réSEAU-version = 2.0.50727
Emplacement =/MyWebApp/Foo.aspx
Quel nom (s) décrit plus correctement ce qui a été placé dans l'en-tête "Location"?
URL? URI? URNE? URC? Lequel est-ce?
Mais l'adresse de localisation n'atteint-elle pas le test d'URL de derefrence-able?/MyWebApp/Foo.aspx ne fournit aucune information sur l'endroit où la ressource peut être trouvée sur un réseau ... – Evan
C'est une référence relative. Cela avec d'autres informations (l'URI utilisé pour obtenir la réponse) permet la création d'un URI absolu qui est à la fois un identifiant global (aucune autre ressource dans le monde a le même URI) et un répertoire déréférencable. –
@John Cela ne fait-il pas de l'emplacement une URL mais une URN? – Evan