HTTP жүктөө тыныгуулары жана Expect: 100-continue
Expect: 100-continue алмашуусун таанып, анын кыска чечим чекитин маалымат өткөрүү учурунда токтоп калган жүктөөдөн айырмалаңыз.
Байланыш ачылат. Сурамдын аталыштары чыгып кетет. Файл кыймылдабай жаткандай көрүнөт. Бир түшүндүрмө — кардар өз денесин жөнөтөөр алдында Expect: 100-continue үчүн жооп күтүп жатат.
Механизм кабыл алуучуга мүмкүн болгон чоң жүктөө жөнөтүлөөр алдында сурамды аталыштары боюнча четке кагууга мүмкүндүк берет. Адаттагы ийгиликтүү ырааттуулук:
request headers → 100 Continue → request body → final response100 маалыматтык: ал кардарга улантууга жол берет, бирок файл сакталганын же колдонмо операциясы ийгиликтүү болгонун билдирбейт. HTTP 417 кайтарган Git push күтүүнүн ийгиликсиздигинин бир конкрет учуру.
Кардар кайсы жоопту алганын аныктаңыз
| Байкоо | Изилдөөгө тийиш маани |
|---|---|
| 100 Continue | Кардар дене менен уланта алат |
| Денеге чейинки акыркы баш тартуу | Операция аталыштар баскычында четке кагылды |
| Күтүлгөн аралык жооп жок | Кардардын күтүү саясаты жана ошол жолдогу иштетүү |
curl expect-continue үчүн өзүнчө күтүү жөндөөсүн сунуштайт. Эгер ошол libcurl күтүүсү күтүлгөн жоопсуз бүтсө, ал денени баары бир жөнөтөт; бүтүү бүтүндөй өткөрүүнүн автоматтык ийгиликсиздиги эмес. Жөндөө толук өткөрүүгө уруксат берилген убакыттан өзүнчө. Акыркыны көбөйтүү ошол эле баштапкы тыныгууну түшүндүрүүсүз калтырышы мүмкүн.
Ошондой эле Expect көтөрүп жүргөн HTTP сүйлөшүүсүн аныктаңыз. HTTPS максатына кадимки CONNECT учурунда сайттын жүктөө алмашуусу TLS ичинде болот; форвард прокси анын ички күтүү аталышын жөн эле текшербейт. Колго түшүрүү же ачык текст менен өткөрүү жолу башка.
Күтүүнү алып салуу атайын шайкештик тандоосу болушу мүмкүн, бирок бул кардар эрте баш тартуу тууралуу билгенге чейин чоң денени жөнөтө башташы мүмкүн дегенди билдирет. Бул жүрүм-турумду чыныгы талап менен салыштырыңыз. Эски прокси үчүн жасалган тарыхый чечимди ар бир жүктөөдөн аталышты алып салуунун универсалдуу нускамасы катары сүрөттөбөңүз.