Dois-je retourner un code d'état http 401 sur un formulaire de connexion basé sur html? La page est un formulaire de connexion dédié et n'a pas d'autre contenu significatif, juste un cadre de site. L'URL peut cependant être pour une page qui a un contenu significatif, mais nécessite une connexion. Notez que cette configuration renvoie uniquement le code d'état 401 et ne demande pas à l'utilisateur une authentification de base.
En regardant les normes, il semble que 401 soit un code d'état inapproprié pour les formulaires de connexion basés sur html. Cependant, je n'ai jamais connu ni entendu parler de conséquences néfastes de le faire.
Lors de l'envoi de 401, "la réponse DOIT inclure un champ d'en-tête WWW-Authenticate (section 14.47) contenant un défi applicable à la ressource demandée."
exigence mentionnée ici:
http://tools.ietf.org/html/rfc2616#section-10.4.2
détaillé ici:
http://tools.ietf.org/html/rfc2617#section-3.2.1
Je sais qu'il existe des moyens de contourner les moteurs de recherche pour les convaincre d'indexer ou non les pages en fonction de la présence d'un formulaire de connexion, mais je préfère utiliser les codes de statut http, en particulier 401 car sa définition semble être un match parfait sinon pour l'exigence d'en-tête WWW-Authenticate.
Y a-t-il une raison pour laquelle je ne devrais pas utiliser 401 dans ce cas? Sémantiquement, y a-t-il une différence entre ne pas être autorisé au niveau http et être autorisé au niveau de l'application? Évidemment, vous pouvez avoir les deux, mais l'authentification au niveau http n'est-elle pas juste pour la facilité de ne pas l'implémenter au niveau de l'application?