Pausas de envío HTTP e Expect: 100-continue
Recoñeza o intercambio Expect: 100-continue e distinga o seu breve punto de decisión dun envío que se detivo durante a transferencia de datos.
A conexión ábrese. As cabeceiras da petición saen. Parece que o ficheiro non avanza. Unha explicación é que o cliente espera unha resposta a Expect: 100-continue antes de enviar o seu corpo.
O mecanismo permite ao destinatario rexeitar unha petición a partir das súas cabeceiras antes de que se envíe un envío potencialmente grande. A secuencia exitosa habitual é:
request headers → 100 Continue → request body → final response100 é informativo: permite ao cliente continuar, pero non significa que o ficheiro se almacenase nin que a operación da aplicación tivese éxito. Un Git push que devolve HTTP 417 é un caso concreto de expectativa fallida.
Determine que resposta recibiu o cliente
| Observación | Significado que investigar |
|---|---|
| 100 Continue | O cliente pode continuar co corpo |
| Un rexeitamento final antes do corpo | A operación rexeitouse na fase de cabeceiras |
| Ningunha resposta intermedia esperada | A política de espera do cliente e o tratamento nesa ruta |
curl ofrece un axuste de espera específico para expect-continue. Se esa espera de libcurl expira sen a resposta esperada, envía o corpo de todos os xeitos; a expiración non é automaticamente un fallo de toda a transferencia. O axuste é independente do tempo permitido para a transferencia completa. Aumentar este último pode deixar a mesma pausa inicial sen explicar.
Identifique tamén que conversación HTTP transporta Expect. Cun CONNECT normal a un destino HTTPS, o intercambio de envío do sitio web está dentro de TLS; o proxy de reenvío non inspecciona simplemente a súa cabeceira de expectativa interna. Unha ruta de interceptación ou de reenvío en texto claro é distinta.
Eliminar a expectativa pode ser unha elección deliberada de compatibilidade, pero significa que o cliente pode comezar a enviar un corpo grande antes de saber dun rexeitamento temperán. Compare ese comportamento co requisito real. Non describa unha solución histórica para un proxy antigo como unha instrución universal de quitar a cabeceira de cada envío.