Squid аркылуу өткөндөн кийин HTTP жообу бир нече жазылып алынган TCP сегментинде көрүнөт дейли. Бул TCPнин кадимки жүрүм-туруму болушу мүмкүн, жооп туура эмес бөлүнгөн деген далил эмес.

Алдыңкы проксинин адатта эки байланышы болот:

client ⇄ TCP connection A ⇄ proxy ⇄ TCP connection B ⇄ origin

Ар бир байланыштын өз TCP абалы, иреттик номурлары жана пакеттелиши бар. Прокси бир байланыштан маалымат окуп, экинчисине жаза алат, баштапкы сегмент өлчөмдөрүн сактабастан. Буферлөө, жөнөтүү убактысы, тыгын жана жолдун өлчөм чектери башка топтоону пайда кылышы мүмкүн.

Өзүнчө кармоого татыктуу үч чек

ЧекАны эмне аныктайт
TCP сегментиТашуу жана тармак жолу
Сокет окуусунун натыйжасыЖеткиликтүү агым байттары жана чакыруучунун буфери
HTTP билдирүүсү же кадрыHTTP протоколунун каптоо эрежелери

Бир окуу баш сөздүн бир бөлүгүн, толук баш сөздү дене байттары менен бирге же бирден ашык колдонмо деңгээлиндеги чекти кесип өткөн маалыматты камтышы мүмкүн. TCP «HTTP жообунун аягын» ийгиликтүү окуунун аягына байлабайт.

Ошондуктан HTTP/1.1 талдоочусу баш сөздөрдү чогултуп, колдонулуучу дене каптоо эрежелерин колдонот, алардын ичинде узундук, өткөрүү коддоосу же уруксат берилген байланышты жабуу бар. HTTP/2 кадры өзү TCP сегменттерин кесип өтө алган протоколдук түзүлүш; ал тармак пакетинин башка аталышы эмес.

Ийгиликтүү CONNECT туннели туннелденген байт агымын сактайт, бирок дагы эле эки TCP бутун колдонот. Прокси туннелдин ичиндеги байттарды өзгөртпөгөн учурда да анын сегмент чектери башкача болушу мүмкүн.

Бузулууну иликтегенде кайра куралган колдонмо маалыматтарын салыштырыңыз. Пакеттердин санын салыштыруу же эки жакта бирдей пакет узундугун күтүү TCPден ал бербеген чек кепилдигин суроо болуп саналат.

Тектеш макалалар