Bağlantı açılır. Sorğu başlıqları çıxır. Fayl yerindən tərpənmir. Bir izah odur ki, müştəri gövdəsini göndərməzdən əvvəl Expect: 100-continue üçün cavab gözləyir.

Mexanizm alıcıya böyük ola biləcək yükləmə göndərilməzdən əvvəl sorğunu başlıqlarına əsasən rədd etməyə imkan verir. Adi uğurlu ardıcıllıq belədir:

request headers → 100 Continue → request body → final response

100 məlumat xarakterlidir: müştəriyə davam etməyə icazə verir, amma faylın saxlandığını və ya tətbiq əməliyyatının uğurlu olduğunu bildirmir. HTTP 417 qaytaran Git push gözlənti uğursuzluğunun bir konkret halıdır.

Müştərinin hansı cavabı aldığını müəyyən edin

MüşahidəAraşdırılmalı məna
100 ContinueMüştəri gövdə ilə davam edə bilər
Gövdədən əvvəl son rəddƏməliyyat başlıq mərhələsində rədd edildi
Gözlənilən aralıq cavab yoxdurMüştərinin gözləmə siyasəti və həmin yolda davranış

curl expect-continue üçün ayrıca gözləmə parametri təqdim edir. Əgər həmin libcurl gözləməsi gözlənilən cavab olmadan bitirsə, gövdəni yenə də göndərir; bitmə avtomatik olaraq bütün ötürmənin uğursuzluğu deyil. Parametr tam ötürmə üçün verilən vaxtdan ayrıdır. Sonuncunu artırmaq eyni ilkin fasiləni izahsız qoya bilər.

Expect daşıyan HTTP söhbətinin hansı olduğunu da müəyyən edin. HTTPS hədəfinə adi CONNECT ilə veb saytın yükləmə mübadiləsi TLS içindədir; forvard proxy onun daxili gözlənti başlığını sadəcə yoxlamır. Müdaxilə və ya açıq mətn ötürmə yolu fərqlidir.

Gözləntini silmək qəsdən uyğunluq seçimi ola bilər, amma bu o deməkdir ki, müştəri erkən rədd barədə öyrənməzdən əvvəl böyük gövdə göndərməyə başlaya bilər. Bu davranışı faktiki tələblə müqayisə edin. Köhnə proxy üçün tarixi həlli hər yükləmədən başlığı çıxarmaq kimi universal göstəriş kimi təsvir etməyin.

Əlaqəli məqalələr