2012-02-24 13 views
5

Sé que SSL tiene un impacto de rendimiento en su comunicación HTTP en términos de velocidad, pero ¿hay mucha diferencia en la cantidad de datos transferidos?¿SSL causa mucho más ancho de banda?

es decir, si un dispositivo móvil está pagando mucho por kb, ¿hay una gran diferencia? ¿Alguien tiene una estimación de la diferencia?

¡Gracias por la ayuda!

Matt

+1

Puede que también le interese implementar algunas de las estrategias descritas [aquí] (http://stackoverflow.com/a/9250423/372643) (almacenamiento en caché cuando sea apropiado, inicio falso, reanudación de la sesión, ...) – Bruno

Respuesta

9

No, no es mucha diferencia, ni en términos de "rendimiento" ni en términos de ancho de banda.

According to Google, una compañía que uno esperaría sea una fuente confiable de redes a gran escala, la sobrecarga de ancho de banda de red es menor al 2%.

5

Como Borealid señaló, la sobrecarga es pequeña. Generalmente. Para una solicitud promedio (que se extiende a archivos multimegabyte).

Sin embargo, si tiene algo así como API RESTful para llamar, debe asegurarse de que se utiliza la conexión persistente, de lo contrario, con cuerpos de solicitud pequeños, SSL agregará una sobrecarga significativa. No puedo decirte los números exactos ahora (simplemente porque varían según el tamaño del certificado y la cantidad de certificados en la cadena), pero si tienes que establecer una sesión SSL para enviar una solicitud de 200 bytes y recibir una respuesta de 2 Kb, SSL El apretón de manos puede agregar otros 5-7 Kb fácilmente, para que vea la sobrecarga.

+1

Acordado , el peor de los casos que he visto es cuando solicito autenticación de certificado de cliente con un almacén de confianza Java predeterminado: el mensaje 'CertificateRequest' contiene una lista de DN de CA que puede agregar hasta 20 KB dependiendo de la cantidad de certificaciones de CA agrupadas (hasta el punto de que los buffers pueden no ser lo suficientemente grandes en algunas implementaciones). Por supuesto, en la práctica, la lista de CA para certificados de clientes debe restringirse solo a aquellos realmente necesarios. – Bruno

5

Acabo de hacer una prueba utilizando wireshark, descargando un archivo de 5 bytes de Amazon S3 a través de http y https a un iPad usando una simple solicitud de NSURLConnection.

Para http, el tráfico total fue 1310 bytes.

Para https, el tráfico total fue de 7099 bytes.

Esto fue solo para una descarga única en cada caso, e incluye todo el tráfico de ida y vuelta indirecto asociado con la solicitud, incluidos DNS (alrededor de 200 bytes) y protocolo de enlace TCP (unos 400 bytes para el caso http).

Obviamente, los totales reales cambiarían según la longitud de la URL y su certificado SSL particular; ciertamente podrías tener encabezados más sencillos que los que ofrece S3. En teoría, la sobrecarga de ancho de banda SSL para un archivo de 1MB debe ser aproximadamente igual a un archivo de 1 byte, es decir, unos 5800 bytes en el ejemplo anterior, ya que el cifrado no debería aumentar el tamaño de los datos transmitidos más allá del certificado inicial e intercambio de claves. Por lo tanto, para archivos grandes es insignificante, pero para archivos pequeños puede ser significativo, como señala Eugene.

Cuestiones relacionadas