2011-06-30 10 views
7

¿Es una buena idea enviar una suma de comprobación con el contenido de la respuesta? Y si es así, ¿cuál es la forma más común de calcular la suma de comprobación?Sumas de verificación en las respuestas REST API

Ejemplo:

HTTP/1.1 200 OK 
Date: Thu, 30 Jun 2011 21:32:20 GMT 
Server: Apache 
Connection: close 
Content-Type: application/json 

22 
{test:1} 

Respuesta

7

El protocolo subyacente para HTTP es TCP que ya tiene un mecanismo de suma de comprobación, por lo que creo que sería inútil.

Si aún necesita este tipo de cosas que usted podría calcular una firma SHA1 del contenido del cuerpo e incluirlo como un encabezado personalizado en su respuesta, algo así como

HTTP/1.1 200 OK 
Date: Thu, 30 Jun 2011 21:32:20 GMT 
Server: Apache 
Connection: close 
Content-Type: application/json 
X-Checksum: 40325305549f7a09edb51ff8df9528ffd8434ac6 
1

Por qué? Básicamente TCP maneja eso para usted (ya que se supone que es un protocolo confiable), por lo que una suma de comprobación es menos necesaria y podría decirse que es redundante.

Sin embargo, si insistiera en ello, simplemente agregaría un encabezado HTTP de X-Checksum de algún tipo.

3

Siempre se puede utilizar la cabecera Content-MD5 (ver RFC 2616 & 1864).

+1

_El campo de encabezado Content-MD5 se ha eliminado porque se implementó de forma incoherente con respecto a las respuestas parciales_. [RFC 7231] (https://tools.ietf.org/html/rfc7231) – gkiko