Je dirais que vous avez raison, (time_starttransfer - time_connect) est certainement une quantité de temps que le serveur a pris pour traiter la demande.
Cependant - Je me suis également demandé quelle est la différence entre time_connect et time_pretransfer? (intrigué par @Schwartzie et commentaires @Cheeso)
En regardant plusieurs requêtes curl sur le web, j'ai observé que parfois ils sont égaux et parfois ils ne le sont pas. Puis j'ai compris (du moins je crois) qu'ils diffèrent seulement pour les requêtes HTTPS, car le serveur a besoin de temps pour décrypter la couche SSL, ce qui n'est pas exactement le temps passé par l'application cible mais le temps passé par le serveur héberger l'application/service. Le temps pour décrypter ssl (et se connecter aussi, celui donné dans time_connect) est time_appconnect, et seulement quand c'est 0 (comme pour les requêtes non-https) - time_connect et time_pretransfer sont EQUAL, sinon pour les requêtes https ils diffèrent , et pour https time_pretansfer serait égal à time_appconnect (et pas à time_connect).
Vérifiez les deux exemples suivants:
boucle -kso/dev/null -w "time_connect =% {time_connect}, time_appconnect:% {time_appconnect}, time_pretransfer =% {time_pretransfer} \ n" http://www.csh.rit.edu
- time_connect = 0,128, time_appconnect: 0,000, time_pretransfer = 0,128
boucle -kso/dev/null -w "Time_connect =% {time_connect}, time_appconnect:% {time_appconnect}, time_pretransfer =% {time_pretransfer} \ n" https://www.csh.rit.edu
- time_connect = 0,133, time_appconnect: 0,577, time_pretransfer = 0.577
donc je dirais que time_pretransfer est plus précis à utiliser par rapport à time_connect car il va respecter les connexions ssl aussi, et peut-être d'autres choses que je ne suis pas au courant.
Avec toutes les précédentes étant dit, je dirais que cette réponse plus précise pour la question:
- « Comment puis-je déterminer combien de temps le serveur a pris le traitement de la demande? »
serait probablement:
- time_starttransfer - time_pretransfer
comme @Schwartzie déjà mentionné, je voulais juste comprendre pourquoi.
J'ai essayé de comprendre cela aussi. J'ai trouvé que les descriptions des temps sur http://curl.haxx.se/docs/manpage.html sont plus faciles à lire. Ma meilleure estimation actuelle pour le temps de traitement à distance est 'time_starttransfer - time_pretransfer'. Ma compréhension est que 'time_pretransfer - time_connect' comprend également le temps qu'il faut pour envoyer la demande. – Schwartzie