2011-06-06 32 views
13

Mi equipo tiene un sitio web con una API RESTful. Estamos trabajando en la prueba de carga, por lo que hemos creado una pequeña aplicación de consola para resolver las solicitudes. Esta aplicación de consola no establece la cadena del agente de usuario, y eso está causando un error en nuestra API porque es un campo obligatorio en nuestra base de datos.API RESTful: ¿requiere una cadena de agente de usuario?

Entonces, ¿debo hacer que la API sea más robusta y simplemente usar una cadena predeterminada (es decir, "desconocida") si un agente de usuario no está incluido en la solicitud? O, ¿debería devolver una respuesta de 400 solicitudes erróneas en esta situación? Sé que cualquiera es posible, pero estoy buscando la estándar manera de hacerlo.

Respuesta

15

Desde la cabecera User-Agent no es absolutamente necesario que estén presentes dentro de las peticiones HTTP (el spec says la cabecera SHOULD estar allí, en lugar de MUST), su API habría más robusta si podía manejar la situación no estar presente.

Dicho esto, probablemente sea bueno que su aplicación de prueba pase un identificador User-Agent de "aplicación de prueba" o algo así, solo para que pueda rastrearlo en su base de datos, o acelerar o perfilar el tráfico de prueba.

Sin embargo, le advierto que no debe usar User-Agent como identificador definitivo de la aplicación del cliente, ya que se puede falsificar fácilmente. No parece que estés haciendo eso, pero pensé que lo mencionaría.