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 ішінде болады; форвард прокси оның ішкі күту тақырыбын жай ғана тексермейді. Ұстап қалу немесе ашық мәтінмен жіберу жолы басқа.
Күтуді алып тастау әдейі үйлесімділік таңдауы болуы мүмкін, бірақ бұл клиенттің ерте бас тарту туралы білмей тұрып үлкен денені жіберуге кірісуі мүмкін дегенді білдіреді. Бұл мінез-құлықты нақты талаппен салыстырыңыз. Ескі прокси үшін жасалған тарихи шешімді әр жүктеуден тақырыпты алып тастаудың әмбебап нұсқауы ретінде сипаттамаңыз.