Ler os tempos do proxy de cURL desde o lado do cliente
Interprete os tempos de conexión, TLS, primeiro byte e total sen atribuír traballo superior non observado a unha medición só do proxy.
Supoñamos que cURL abre unha conexión TCP nova a un proxy HTTP simple, establece un túnel HTTPS e descarga unha resposta. Os tempos describen fitos que cURL observou nese camiño.
| Valor | Fito medido desde o inicio da transferencia |
|---|---|
| time_connect | A conexión co proxy completouse |
| time_appconnect | O aperto de mans TLS correspondente completouse |
| time_starttransfer | Recibiuse o primeiro byte da resposta |
| time_total | A transferencia rematou |
Para unha captura ilustrativa nunha shell POSIX:
curl --proxy http://proxy.example:8080 \
--output /dev/null \
--write-out 'connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
https://example.com/
Para unha comparación HTTPS pública permitida sen credenciais de proxy, unha entrada HTTP da lista de proxies HTTP pode substituír o proxy do exemplo. Os valores son segundos acumulados. Non son catro duracións independentes que se sumen. Manteña o erro de transferencia e o estado da resposta xunto aos números: unha conexión fallida ou un túnel rexeitado non chegou a cada fito posterior.
Que pode dicir a resta
Para unha soa resposta correcta, time_total menos time_starttransfer describe o intervalo restante despois de chegar o primeiro byte. Trátase sobre todo da transferencia posterior da resposta e do traballo asociado no lado do cliente. Non é o tempo do proxy para conectarse ao sitio web, porque iso ocorreu antes de que a resposta puidese chegar.
Do mesmo xeito, time_starttransfer menos time_connect pode incluír a creación do túnel, TLS, esperas da rede superior, traballo do servidor e outro procesamento. Chamar a toda a diferenza "latencia do proxy" asigna varios compoñentes a un único participante.
Para separar as esperas do proxy en DNS, conexión e resposta, obtena observacións ou trazas correspondentes do lado do proxy. O cliente non recibe esas marcas de tempo internas só por usar HTTP CONNECT.
Compare transferencias equivalentes. As redireccións engaden tempos de varias solicitudes, mentres que a reutilización de conexións e a multiplexación cambian que traballo de preparación fai falta. Anote esas condicións antes de comparar os números dun proxy cos doutro.