Junior
HTTP версиялары жана алардын айырмачылыктары жөнүндө айтыңыз.
sobes.tech AI
AIден жооп
HTTP негизги версиялары:
- HTTP/0.9: Жөнөкөй HTML документтерин өткөрүү үчүн негизги версия. only
GETыкмасын колдонуучу, башталыштар жана жооп статусу жок. - HTTP/1.0: Башталыштарды (Content-Type, User-Agent),
POSTжанаHEADыкмаларын жана жооп статусун колдоо киргизилди. Байланыш ар бир суроо/жооптон кийин жабылчу. - HTTP/1.1: маанилүү жакшыртуулар:
- Туруктуу байланыштар (Persistent Connections) - TCP байланышын кайра колдонуу үчүн.
- Пайпелинги - бир нече суроону жооп күтпөстөн жөнөтүү (жаман ишке ашырылган жана сейрек колдонулат).
- Виртуалдуу хосттор (Host башталышы).
- бөлүктүү GET суроолору (Range башталышы).
- Кэширлөө (Cache-Control, ETag, Last-Modified).
- PUT жана DELETE ыкмалары.
- HTTP/2: Google-дин SPDY протоколу негизинде. негизги айырмачылыктар:
- Бинардык протокол - натыйжалуу талдоо.
- Мултиплексинг - бир TCP байланышы аркылуу бир нече суроо/жоопту параллел өткөрүү. HTTP/1.1 pipeliningдеги "head-of-line blocking" маселесин жоюу.
- Башталыштарды кысуу (HPACK) - өткөрүлүүчү маалыматтын өлчөмүн азайтуу.
- Приоритеттөө (Server Push) - сервер, мүмкүн болуучу керектүү ресурстарды, суралбай туруп жөнөтө алат.
- HTTP/3: UDP протоколу (QUIC - Quick UDP Internet Connections колдонуу) негизинде, TCPнин ордуна. иштөө ылдамдыгын жакшыртуу үчүн, өзгөчө туруксуз желилерде:
- TCP деңгээлиндеги "head-of-line blocking" жоюу. TCPде бир пакет жоголсо, бардык кийинки пакеттер блоктолот. QUIC (жана HTTP/3)да, жоголгон пакетке тиешелүү гана агым блоктолот.
- тезирээк байланыш түзүү (0-RTT же 1-RTT).
- QUIC өзүнүн агым жана ишенимдүүлүк механизмдерин камтыйт.
негизги айырмачылыктар таблицада:
| Өзгөчөлүк | HTTP/1.0 | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|---|
| Протокол | TCP | TCP | TCP | UDP (QUIC) |
| Формат | Тексттик | Тексттик | Бинардык | Бинардык |
| Байланыш негизги түрү | Кыска мөөнөттүү | Туруктуу | Туруктуу (мултиплексинг) | Туруктуу (QUIC агымдары) |
| Мултиплексинг | Жок | Сүрөттөө (Pipelining) | Ооба | Ооба |
| Башталыштарды кысуу | Жок | Жок | HPACK | QPACK (QUICте) |
| Server Push | Жок | Жок | Ооба | Ооба |
| HOL блоктоо (TCP) | Ооба (суроо деңгээли) | Ооба (суроо деңгээли) | Ооба (байланыш деңгээли) | Жок (агым деңгээли) |
HTTP/1.1 суроо мисалы:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: curl/7.64.1
Accept: */*
HTTP/2 суроо мисалы (түсүнүк, бинардык форматта):
// Суроо 1: /index.html алуу
// :method = GET
// :path = /index.html
// :authority = www.example.com
// Суроо 2: /style.css алуу
// :method = GET
// :path = /style.css
// :authority = www.example.com
// ...бир байланышка параллел өтөт