¿Por qué no usar siempre la publicación HTTP para las llamadas ajax?

Sé las diferencias entre los métodos de obtención y publicación de HTTP (como se explica en grandes detalles en esta pregunta).
Mi pregunta es por qué no siempre se usa el método de publicación para llamadas AJAX, que es seguro. ¿Hay solicitud de obtener más rápido? ¿Hay alguna razón para preferir obtener luego publicar?

Para ninguna llamada ajax hay una razón: compartir un enlace a la misma url, pero para AJAX este argumento no es bueno …

Las solicitudes GET son más pequeñas y más rápidas; y aprovechar el almacenamiento en caché, tanto en el lado del cliente como por parte de cualquier proxy que pueda estar en juego.

Para los datos que no se espera que cambien muy a menudo, las solicitudes GET son a menudo muy sensatas, ya que tienen una mayor probabilidad de no ser reenviadas a menos que sea necesario.

Sin embargo, para los datos que se espera que cambien con más frecuencia, POST es la opción más segura, ya que siempre se reenviará al servidor, asegurándose de que los cambios siempre se respeten.

También hay cuestiones semánticas que entran en juego. Las solicitudes POST solo deberían usarse cuando la intención es modificar los datos en el servidor.

Estuve leyendo las mejores prácticas de Yahoo para acelerar sus sitios web algún día atrás y han explicado muy bien por qué deberíamos preferir salir más de la publicación y aquí está el fragmento de publicación para su referencia.

Al usar XMLHttpRequest, POST se implementa en los navegadores como un proceso de dos pasos: enviar los encabezados primero y luego enviar los datos. Por lo tanto, es mejor usar GET, que solo requiere un paquete TCP para enviar (a menos que tenga muchas cookies). La longitud máxima de la URL en IE es de 2 K, por lo que si envía más de 2 K de datos, es posible que no pueda usar GET.

Un efecto colateral interesante es que el POST sin publicar realmente ningún dato se comporta como GET. Basado en las especificaciones de HTTP, GET está diseñado para recuperar información, por lo que tiene sentido (semánticamente) utilizar GET cuando solo solicita datos, en lugar de enviar datos para que se almacenen en el lado del servidor.

Para más detalles consulte la página para más detalles.

Yahoo Best Practices para acelerar

Mi pregunta es por qué no siempre se usa el método de publicación para llamadas AJAX

Porque en una aplicación REST no tendría sentido usar el verbo POST para acciones que no modifican el estado en el servidor. En una aplicación REST, no importa realmente cómo se realizó la solicitud: si era normal, AJAX o un robot.

Además, las solicitudes GET suelen ser más rápidas y se almacenan en caché por los navegadores.

GET utiliza una única solicitud al servidor frente a dos para POST.

Según el equipo de YSlow de Yahoo, debes optar por GET cuando el contenido transmitido sea inferior al límite de 2K de IE. Lea más aquí: http://developer.yahoo.com/performance/rules.html#ajax_get