¿Debo devolver un código de estado http 401 en un formulario de inicio de sesión basado en html? La página es un formulario de inicio de sesión dedicado y no tiene ningún otro contenido significativo, solo el marco del sitio. Sin embargo, la URL puede ser para una página que tiene contenido significativo, pero requiere inicio de sesión. Tenga en cuenta que esta configuración solo devuelve el código de estado 401 y no solicita al usuario la autenticación básica.
Mirando los estándares, parece que 401 es un código de estado inapropiado para formularios de inicio de sesión basados en HTML. Sin embargo, nunca he experimentado ni oído hablar de ninguna consecuencia negativa de hacerlo.
Al enviar 401, "La respuesta DEBE incluir un campo de encabezado WWW-Authenticate (sección 14.47) que contenga un desafío aplicable al recurso solicitado".
requisito mencionado aquí:
http://tools.ietf.org/html/rfc2616#section-10.4.2
detallado aquí:
http://tools.ietf.org/html/rfc2617#section-3.2.1
Sé que hay formas de evitar los motores de búsqueda para convencerlos de que indexen o no páginas basadas en la presencia de un formulario de inicio de sesión, pero preferiría usar códigos de estado http, específicamente 401, ya que su definición parece ser una combinación perfecta si no fuera por el requisito de encabezado WWW-Authenticate.
¿Hay alguna razón por la que no debería usar 401 en este caso? Semánticamente, ¿hay alguna diferencia entre no estar autorizado a nivel http y estar autorizado a nivel de aplicación? Obviamente puede tener ambas, pero ¿no es la autenticación a nivel http solo por la facilidad de no implementarla a nivel de aplicación?