HTTP
HTTP (аМгл. HyperText Transfer Protocol - «пÑПÑПкПл пеÑеЎаÑО гОпеÑÑекÑÑа») - пÑПÑПкПл пÑОклаЎМПгП ÑÑÐŸÐ²ÐœÑ Ð¿ÐµÑеЎаÑО ЎаММÑÑ
, ОзМаÑалÑМП - в вОЎе гОпеÑÑекÑÑПвÑÑ
ЎПкÑЌеМÑПв (ÑП еÑÑÑ ÐŽÐŸÐºÑЌеМÑПв, кПÑПÑÑе ЌПгÑÑ ÑПЎеÑжаÑÑ ÑÑÑлкО, пПзвПлÑÑÑОе ПÑгаМОзПваÑÑ Ð¿ÐµÑеÑ
ПЎ к ÐŽÑÑгОЌ ЎПкÑЌеМÑаЌ) в ÑПÑЌаÑе HTML, в МаÑÑПÑÑее вÑÐµÐŒÑ ÐžÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ Ð¿ÐµÑеЎаÑО пÑПОзвПлÑМÑÑ
ЎаММÑÑ
.
ÐÑМПвПй HTTP ÑвлÑеÑÑÑ ÑеÑ
ÐœÐŸÐ»ÐŸÐ³ÐžÑ Â«ÐºÐ»ÐžÐµÐœÑ-ÑеÑвеÑ», ÑП еÑÑÑ Ð¿ÑеЎпПлагаеÑÑÑ ÑÑÑеÑÑвПваМОе:
- ÐПÑÑебОÑелей (клОеМÑПв), кПÑПÑÑе ОМОÑООÑÑÑÑ ÑПеЎОМеМОе О пПÑÑлаÑÑ Ð·Ð°Ð¿ÑПÑ;
- ÐПÑÑавÑОкПв (ÑеÑвеÑПв), кПÑПÑÑе ПжОЎаÑÑ ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ Ð·Ð°Ð¿ÑПÑа, пÑПОзвПЎÑÑ ÐœÐµÐŸÐ±Ñ ÐŸÐŽÐžÐŒÑе ÐŽÐµÐ¹Ñ ÑÐ²ÐžÑ Ðž вПзвÑаÑаÑÑ ÐŸÐ±ÑаÑМП ÑППбÑеМОе Ñ ÑезÑлÑÑаÑПЌ.
HTTP ОÑпПлÑзÑеÑÑÑ Ñакже в каÑеÑÑве «ÑÑаМÑпПÑÑа» ÐŽÐ»Ñ ÐŽÑÑгОÑ
пÑПÑПкПлПв пÑОклаЎМПгП ÑÑПвМÑ, ÑакОÑ
как SOAP, XML-RPC, WebDAV.
ÐÑМПвМÑÐŒ ПбÑекÑПЌ ЌаМОпÑлÑÑОО в HTTP ÑвлÑеÑÑÑ ÑеÑÑÑÑ, Ма кПÑПÑÑй ÑказÑÐ²Ð°ÐµÑ URI (Uniform Resource Identifier) в запÑПÑе клОеМÑа. ÐбÑÑМП ÑакОЌО ÑеÑÑÑÑаЌО ÑвлÑÑÑÑÑ Ñ
ÑаМÑÑОеÑÑ ÐœÐ° ÑеÑвеÑе ÑайлÑ, МП ОЌО ЌПгÑÑ Ð±ÑÑÑ Ð»ÐŸÐ³ÐžÑеÑкОе ПбÑекÑÑ ÐžÐ»Ðž ÑÑП-ÑП абÑÑÑакÑМПе. ÐÑПбеММПÑÑÑÑ Ð¿ÑПÑПкПла HTTP ÑвлÑеÑÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÑказаÑÑ Ð² запÑПÑе О ПÑвеÑе ÑпПÑПб пÑеЎÑÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐŸÐŽÐœÐŸÐ³ÐŸ О ÑПгП же ÑеÑÑÑÑа пП ÑазлОÑМÑÐŒ паÑаЌеÑÑаЌ: ÑПÑЌаÑÑ, кПЎОÑПвке, ÑзÑÐºÑ Ðž Ñ. ÐŽ. (в ÑаÑÑМПÑÑО, ÐŽÐ»Ñ ÑÑПгП ОÑпПлÑзÑеÑÑÑ HTTP-загПлПвПк). ÐЌеММП благПЎаÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑО ÑÐºÐ°Ð·Ð°ÐœÐžÑ ÑпПÑПба кПЎОÑÐŸÐ²Ð°ÐœÐžÑ ÑППбÑÐµÐœÐžÑ ÐºÐ»ÐžÐµÐœÑ Ðž ÑеÑÐ²ÐµÑ ÐŒÐŸÐ³ÑÑ ÐŸÐ±ÐŒÐµÐœÐžÐ²Ð°ÑÑÑÑ ÐŽÐ²ÐŸÐžÑМÑЌО ЎаММÑЌО, Ñ
ПÑÑ ÐŽÐ°ÐœÐœÑй пÑПÑПкПл ÑвлÑеÑÑÑ ÑекÑÑПвÑÐŒ.
HTTP - пÑПÑПкПл пÑОклаЎМПгП ÑÑПвМÑ; аМалПгОÑМÑЌО ÐµÐŒÑ ÑвлÑÑÑÑÑ FTP О SMTP. ÐбЌеМ ÑППбÑеМОÑЌО ОЎÑÑ Ð¿ÐŸ ПбÑкМПвеММПй ÑÑ
еЌе «запÑПÑ-ПÑвеÑ». ÐÐ»Ñ ÐžÐŽÐµÐœÑОÑОкаÑОО ÑеÑÑÑÑПв HTTP ОÑпПлÑзÑÐµÑ Ð³Ð»ÐŸÐ±Ð°Ð»ÑМÑе URI. РПÑлОÑОе ÐŸÑ ÐŒÐœÐŸÐ³ÐžÑ
ÐŽÑÑгОÑ
пÑПÑПкПлПв, HTTP Ме ÑПÑ
ÑаМÑÐµÑ ÑвПегП ÑПÑÑПÑÐœÐžÑ (stateless). ÐÑП ПзМаÑÐ°ÐµÑ ÐŸÑÑÑÑÑÑвОе ÑПÑ
ÑÐ°ÐœÐµÐœÐžÑ Ð¿ÑПЌежÑÑПÑМПгП ÑПÑÑПÑÐœÐžÑ ÐŒÐµÐ¶ÐŽÑ Ð¿Ð°ÑаЌО «запÑПÑ-ПÑвеÑ». ÐПЌпПМеМÑÑ, ОÑпПлÑзÑÑÑОе HTTP, ЌПгÑÑ ÑаЌПÑÑПÑÑелÑМП ПÑÑÑеÑÑвлÑÑÑ ÑПÑ
ÑаМеМОе ОМÑПÑЌаÑОО П ÑПÑÑПÑМОО, ÑвÑзаММПй Ñ Ð¿ÐŸÑлеЎМОЌО запÑПÑаЌО О ПÑвеÑаЌО (МапÑОЌеÑ, «кÑкО» Ма ÑÑПÑПМе клОеМÑа, «ÑеÑÑОО» Ма ÑÑПÑПМе ÑеÑвеÑа). ÐÑаÑзеÑ, пПÑÑлаÑÑОй запÑПÑÑ, ÐŒÐŸÐ¶ÐµÑ ÐŸÑÑлежОваÑÑ Ð·Ð°ÐŽÐµÑжкО ПÑвеÑПв. СеÑÐ²ÐµÑ ÐŒÐŸÐ¶ÐµÑ Ñ
ÑаМОÑÑ IP-аЎÑеÑа О загПлПвкО запÑПÑПв пПÑлеЎМОÑ
клОеМÑПв. ÐЎМакП ÑаЌ пÑПÑПкПл Ме ПÑвеЎПЌлÑМ П пÑеЎÑÐŽÑÑОÑ
запÑПÑаÑ
О ПÑвеÑаÑ
, в МÑÐŒ Ме пÑеЎÑÑЌПÑÑеМа вМÑÑÑеММÑÑ Ð¿ÐŸÐŽÐŽÐµÑжка ÑПÑÑПÑМОÑ, к ÐœÐµÐŒÑ ÐœÐµ пÑеЎÑÑвлÑÑÑÑÑ ÑакОе ÑÑебПваМОÑ.
ÐПлÑÑОМÑÑвП пÑПÑПкПлПв пÑеЎÑÑЌаÑÑÐžÐ²Ð°ÐµÑ ÑÑÑаМПвлеМОе TCP-ÑеÑÑОО, в Ñ
ПЎе кПÑПÑПй ПЎОМ Ñаз пÑПОÑÑ
ÐŸÐŽÐžÑ Ð°Ð²ÑПÑОзаÑОÑ, О ЎалÑМейÑОе ЎейÑÑÐ²ÐžÑ Ð²ÑпПлМÑÑÑÑÑ Ð² кПМÑекÑÑе ÑÑПй авÑПÑОзаÑОО. HTTP же ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÐµÑ ÐŸÑЎелÑМÑÑ TCP-ÑеÑÑÐžÑ ÐœÐ° кажЎÑй запÑПÑ; в бПлее пПзЎМОÑ
веÑÑОÑÑ
HTTP бÑлП ÑазÑеÑеМП ЎелаÑÑ ÐœÐµÑкПлÑкП запÑПÑПв в Ñ
ПЎе ПЎМПй TCP-ÑеÑÑОО, МП бÑаÑзеÑÑ ÐŸÐ±ÑÑМП запÑаÑОваÑÑ ÑПлÑкП ÑÑÑаМОÑÑ Ðž вклÑÑеММÑе в Мее ПбÑекÑÑ (каÑÑОМкО, каÑкаЎМÑе ÑÑОлО О Ñ. п.), а заÑеЌ ÑÑÐ°Ð·Ñ ÑазÑÑваÑÑ TCP-ÑеÑÑОÑ. ÐÐ»Ñ Ð¿ÐŸÐŽÐŽÐµÑжкО авÑПÑОзПваММПгП ( МеаМПМОЌМПгП) ЎПÑÑÑпа в HTTP ОÑпПлÑзÑÑÑÑÑ cookies; пÑОÑеЌ ÑакПй ÑпПÑПб авÑПÑОзаÑОО пПзвПлÑÐµÑ ÑПÑ
ÑаМОÑÑ ÑеÑÑÐžÑ ÐŽÐ°Ð¶Ðµ пПÑле пеÑезагÑÑзкО клОеМÑа О ÑеÑвеÑа.
ÐÑО ЎПÑÑÑпе к ЎаММÑÐŒ пП FTP ОлО пП ÑайлПвÑÐŒ пÑПÑПкПлаЌ ÑОп Ñайла (ÑПÑМее, ÑОп ÑПЎеÑжаÑОÑ
ÑÑ Ð² МеЌ ЎаММÑÑ
) ПпÑеЎелÑеÑÑÑ Ð¿ÐŸ ÑаÑÑОÑÐµÐœÐžÑ ÐžÐŒÐµÐœÐž Ñайла, ÑÑП Ме вÑегЎа ÑЎПбМП. HTTP пеÑеЎ ÑеЌ, как пеÑеЎаÑÑ ÑаЌО ЎаММÑе, пеÑеЎаÑÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐŸÐº «Content-Type: ÑОп/пПЎÑОп», пПзвПлÑÑÑОй клОеМÑÑ ÐŸÐŽÐœÐŸÐ·ÐœÐ°ÑМП ПпÑеЎелОÑÑ, какОЌ ПбÑазПЌ ПбÑабаÑÑваÑÑ Ð¿ÑОÑлаММÑе ЎаММÑе. ÐÑП ПÑПбеММП важМП пÑО ÑабПÑе Ñ CGI-ÑкÑОпÑаЌО, кПгЎа ÑаÑÑОÑеМОе ОЌеМО Ñайла ÑказÑÐ²Ð°ÐµÑ ÐœÐµ Ма ÑОп пÑОÑÑлаеЌÑÑ
клОеМÑÑ ÐŽÐ°ÐœÐœÑÑ
, а Ма МеПбÑ
ПЎОЌПÑÑÑ Ð·Ð°Ð¿ÑÑка ЎаММПгП Ñайла Ма ÑеÑвеÑе О ПÑпÑавкО клОеМÑÑ ÑезÑлÑÑаÑПв ÑабПÑÑ Ð¿ÑПгÑаЌЌÑ, запОÑаММПй в ÑÑПЌ Ñайле (пÑО ÑÑПЌ ПЎОМ О ÑÐŸÑ Ð¶Ðµ Ñайл в завОÑОЌПÑÑО ÐŸÑ Ð°ÑгÑЌеМÑПв запÑПÑа О ÑвПОÑ
ÑПбÑÑвеММÑÑ
ÑППбÑажеМОй ÐŒÐŸÐ¶ÐµÑ Ð¿ÐŸÑПжЎаÑÑ ÐŸÑвеÑÑ ÑазМÑÑ
ÑОпПв - в пÑПÑÑейÑеЌ ÑлÑÑае каÑÑОМкО в ÑазМÑÑ
ÑПÑЌаÑаÑ
).
ÐÑПЌе ÑПгП, HTTP пПзвПлÑÐµÑ ÐºÐ»ÐžÐµÐœÑÑ Ð¿ÑОÑлаÑÑ ÐœÐ° ÑеÑÐ²ÐµÑ Ð¿Ð°ÑаЌеÑÑÑ, кПÑПÑÑе бÑÐŽÑÑ Ð¿ÐµÑÐµÐŽÐ°ÐœÑ Ð·Ð°Ð¿ÑÑÐºÐ°ÐµÐŒÐŸÐŒÑ CGI-ÑкÑОпÑÑ. ÐÐ»Ñ ÑÑПгП же в HTML бÑлО Ð²Ð²ÐµÐŽÐµÐœÑ ÑПÑÐŒÑ.
СÑÑÑкÑÑÑа HTTP-ÑППбÑеМОÑ
ÐажЎПе HTTP-ÑППбÑеМОе ÑПÑÑÐŸÐžÑ ÐžÐ· ÑÑÑÑ
ÑаÑÑей, кПÑПÑÑе пеÑеЎаÑÑÑÑ Ð² ÑказаММПЌ пПÑÑЎке:
- 1.СÑаÑÑÐŸÐ²Ð°Ñ ÑÑÑПка (аМгл. Starting line) - ПпÑеЎелÑÐµÑ ÑОп ÑППбÑеМОÑ, ÑазлОÑаеÑÑÑ ÐŽÐ»Ñ Ð·Ð°Ð¿ÑПÑа О ПÑвеÑа;
- 2.ÐагПлПвкО (аМгл. Headers) - Ñ Ð°ÑакÑеÑОзÑÑÑ ÑелП ÑППбÑеМОÑ, паÑаЌеÑÑÑ Ð¿ÐµÑеЎаÑО О пÑПÑОе ÑвеЎеМОÑ;
- 3.ТелП ÑППбÑÐµÐœÐžÑ (аМгл. Message Body) - МепПÑÑеЎÑÑвеММП ЎаММÑе ÑППбÑеМОÑ. ÐбÑзаÑелÑМП ЎПлжМП ПÑЎелÑÑÑÑÑ ÐŸÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐŸÐ² пÑÑÑПй ÑÑÑПкПй.
ÐÐ»Ñ Ð²ÐµÑÑОО пÑПÑПкПла 1.1 ÑППбÑеМОе запÑПÑа ПбÑзаÑелÑМП ЎПлжМП ÑПЎеÑжаÑÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐŸÐº Host.
1. СÑаÑÑÐŸÐ²Ð°Ñ ÑÑÑПка:
- СÑаÑÑÐŸÐ²Ð°Ñ ÑÑÑПка запÑПÑа вÑглÑÐŽÐžÑ Ñак: ÐеÑПЎ URI HTTP/ÐеÑÑОÑ, гЎе:
- ÐеÑПЎ (аМгл. Method) - ÑОп запÑПÑа, ПЎМП ÑлПвП заглавМÑЌО бÑкваЌО;
- URI ПпÑеЎелÑÐµÑ Ð¿ÑÑÑ Ðº запÑаÑÐžÐ²Ð°ÐµÐŒÐŸÐŒÑ ÐŽÐŸÐºÑЌеМÑÑ;
- ÐеÑÑÐžÑ (аМгл. Version) - паÑа ÑазЎелеММÑÑ ÑПÑкПй ÑОÑÑ. ÐапÑОЌеÑ: 1.1.
ЧÑÐŸÐ±Ñ Ð·Ð°Ð¿ÑПÑОÑÑ ÑÑÑаМОÑÑ ÐŽÐ°ÐœÐœÐŸÐ¹ ÑÑаÑÑО, ÐºÐ»ÐžÐµÐœÑ ÐŽÐŸÐ»Ð¶ÐµÐœ пеÑеЎаÑÑ ÑÑÑÐŸÐºÑ (заЎаМ вÑегП ПЎОМ загПлПвПк):GET /wiki/HTTP HTTP/1.1Host: ru.wikipedia.org - СÑаÑÑÐŸÐ²Ð°Ñ ÑÑÑПка ПÑвеÑа ÑеÑвеÑа ÐžÐŒÐµÐµÑ ÑлеЎÑÑÑОй ÑПÑЌаÑ: HTTP/ÐеÑÑÐžÑ ÐПЎСПÑÑПÑÐœÐžÑ ÐПÑÑМеМОе, гЎе:
- ÐеÑÑÐžÑ - паÑа ÑазЎелеММÑÑ ÑПÑкПй ÑОÑÑ, как в запÑПÑе;
- ÐПЎ ÑПÑÑПÑÐœÐžÑ (аМгл. Status Code) - ÑÑО ÑОÑÑÑ. ÐП ÐºÐŸÐŽÑ ÑПÑÑПÑÐœÐžÑ ÐŸÐ¿ÑеЎелÑеÑÑÑ ÐŽÐ°Ð»ÑМейÑее ÑПЎеÑжОЌПе ÑППбÑÐµÐœÐžÑ Ðž пПвеЎеМОе клОеМÑа;
- ÐПÑÑМеМОе (аМгл. Reason Phrase) - ÑекÑÑПвПе кПÑПÑкПе пПÑÑМеМОе к ÐºÐŸÐŽÑ ÐŸÑвеÑа ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑзПваÑелÑ. ÐОкак Ме влОÑÐµÑ ÐœÐ° ÑППбÑеМОе О ÑвлÑеÑÑÑ ÐœÐµÐŸÐ±ÑзаÑелÑМÑÐŒ.
ÐапÑОЌеÑ, ÑÑаÑÑÐŸÐ²Ð°Ñ ÑÑÑПка ПÑвеÑа ÑеÑвеÑа Ма пÑеЎÑÐŽÑÑОй запÑÐŸÑ ÐŒÐŸÐ¶ÐµÑ Ð²ÑглÑЎеÑÑ Ñак:HTTP/1.0 200 OK
2. ÐагПлПвкО: ÐагПлПвкО HTTP (аМгл. HTTP Headers) - ÑÑП ÑÑÑПкО в HTTP-ÑППбÑеМОО, ÑПЎеÑжаÑОе ÑазЎелÑММÑÑ ÐŽÐ²ÐŸÐµÑПÑОеЌ паÑÑ Ð¿Ð°ÑаЌеÑÑ-зМаÑеМОе. ЀПÑÐŒÐ°Ñ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐŸÐ² ÑППÑвеÑÑÑвÑÐµÑ ÐŸÐ±ÑÐµÐŒÑ ÑПÑЌаÑÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐŸÐ² ÑекÑÑПвÑÑ
ÑеÑевÑÑ
ÑППбÑеМОй ARPA (ÑÐŒ. RFC 822). ÐагПлПвкО ÐŽÐŸÐ»Ð¶ÐœÑ ÐŸÑЎелÑÑÑÑÑ ÐŸÑ Ñела ÑППбÑÐµÐœÐžÑ Ñ
ПÑÑ Ð±Ñ ÐŸÐŽÐœÐŸÐ¹ пÑÑÑПй ÑÑÑПкПй. ÐÑОЌеÑÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐŸÐ²:
- Server: Apache/2.2.11 (Win32) PHP/5.3.0
- Last-Modified: Sat, 16 Jan 2010 21:16:42 GMT
- Content-Type: text/plain; charset=windows-1251
- Content-Language: ru
РпÑОЌеÑе вÑÑе ÐºÐ°Ð¶ÐŽÐ°Ñ ÑÑÑПка пÑеЎÑÑавлÑÐµÑ ÑПбПй ПЎОМ загПлПвПк. ÐÑО ÑÑПЌ ÑП, ÑÑП МаÑ
ПЎОÑÑÑ ÐŽÐŸ ЎвПеÑПÑОÑ, МазÑваеÑÑÑ ÐžÐŒÐµÐœÐµÐŒ (аМгл. name), а ÑÑП пПÑле МегП - зМаÑеМОеЌ (аМгл. value).
ÐÑе загПлПвкО ÑазЎелÑÑÑÑÑ ÐœÐ° ÑеÑÑÑе ПÑМПвМÑÑ
гÑÑппÑ:
- General Headers («ÐÑМПвМÑе загПлПвкО») - ЌПгÑÑ Ð²ÐºÐ»ÑÑаÑÑÑÑ Ð² лÑбПе ÑППбÑеМОе клОеМÑа О ÑеÑвеÑа;
- Request Headers («ÐагПлПвкО запÑПÑа») - ОÑпПлÑзÑÑÑÑÑ ÑПлÑкП в запÑПÑÐ°Ñ ÐºÐ»ÐžÐµÐœÑа;
- Response Headers («ÐагПлПвкО ПÑвеÑа») - ÑПлÑкП ÐŽÐ»Ñ ÐŸÑвеÑПв ÐŸÑ ÑеÑвеÑа;
- Entity Headers («ÐагПлПвкО ÑÑÑМПÑÑО») - ÑПпÑПвПжЎаÑÑ ÐºÐ°Ð¶ÐŽÑÑ ÑÑÑМПÑÑÑ ÑППбÑеМОÑ.
ÐЌеММП в ÑакПЌ пПÑÑЎке ÑекПЌеМЎÑеÑÑÑ Ð¿ÐŸÑÑлаÑÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐž пПлÑÑаÑелÑ.
ÐÑе МеПбÑ
ПЎОЌÑе ÐŽÐ»Ñ ÑÑМкÑОПМОÑÐŸÐ²Ð°ÐœÐžÑ HTTP загПлПвкО ПпОÑÐ°ÐœÑ Ð² ПÑМПвМÑÑ
RFC. ÐÑлО Ме Ñ
ваÑÐ°ÐµÑ ÑÑÑеÑÑвÑÑÑОÑ
, ÑП ЌПжМП ввПЎОÑÑ ÑвПО. ТÑаЎОÑОПММП к ОЌеМаЌ ÑакОÑ
ЎПпПлМОÑелÑМÑÑ
загПлПвкПв ЎПбавлÑÑÑ Ð¿ÑеÑÐžÐºÑ Â«X-» ÐŽÐ»Ñ ÐžÐ·Ð±ÐµÐ¶Ð°ÐœÐžÑ ÐºÐŸÐœÑлОкÑа ОЌÑМ Ñ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸ ÑÑÑеÑÑвÑÑÑОЌО. ÐапÑОЌеÑ, как в загПлПвкаÑ
X-Powered-By ОлО X-Cache. ÐекПÑПÑÑе ÑазÑабПÑÑОкО ОÑпПлÑзÑÑÑ ÑвПО ОМЎОвОЎÑалÑМÑе пÑеÑОкÑÑ. ÐÑОЌеÑаЌО ÑакОÑ
загПлПвкПв ЌПгÑÑ ÑлÑжОÑÑ Ms-Echo-Request О Ms-Echo-Reply, ввеЎÑММÑе кПÑпПÑаÑОей Microsoft ÐŽÐ»Ñ ÑаÑÑОÑÐµÐœÐžÑ WebDAV. ÐПлÑÑе ЌПжМП ÑзМаÑÑ ÑÑÑ.
ÐакОе загПлПвкО Ð²Ð°Ð¶ÐœÑ ÑеÑÑОÑПвÑОкÑ: ПÑевОЎМП, ÑЌПÑÑÑ ÑÑП ÐŒÑ ÑеÑÑОÑÑеЌ. РПÑМПвМПЌ ÑÑП загПлПвкО, каÑаÑÑОеÑÑ Ð°Ð²ÑПÑОзаÑОО, кÑк, кÑÑа О ÑзеÑ-агеМÑ, Ñ
ПÑÑ ÐŽÐ»Ñ ÑПгП же security ÑеÑÑеÑа ПМО бÑÐŽÑÑ ÐžÐœÑе. ÐПлÑÑе ÑÑÑ Ðž ÑÑÑ.
Ðак ÑеÑÐ²ÐµÑ ÑзМаеÑ, Ñ ÐºÐ°ÐºÐŸÐ³ÐŸ ÑОпа ÑÑÑÑПйÑÑва/бÑаÑзеÑа/ÐС/ÑзÑка Ð²Ñ ÐŸÑкÑÑваеÑе веб-ÑÐ°Ð¹Ñ (ÐапÑОЌеÑ, ÐŽÐ»Ñ Adaptive design): кПгЎа Ð²Ñ ÐŸÑпÑавлÑеÑе HTTP-запÑПÑ, ПМ ÑПЎеÑÐ¶ÐžÑ Ð² Ñебе загПлПвкО (headers) Ñ ÑазлОÑМПй ОМÑПÑЌаÑОей. ÐЎМОЌ Оз МОÑ
ÑвлÑеÑÑÑ User-Agent. ÐМ ÑППбÑаеÑ: бÑаÑзеÑ, егП веÑÑÐžÑ Ðž ÑзÑк, ЎвОжПк бÑаÑзеÑа, веÑÑÐžÑ ÐŽÐ²ÐžÐ¶ÐºÐ°, ПпеÑаÑОПММÑÑ ÑОÑÑеЌÑ.
3. ТелП ÑППбÑеМОÑ: ТелП HTTP-ÑППбÑÐµÐœÐžÑ (message-body), еÑлО ПМП пÑОÑÑÑÑÑвÑеÑ, ОÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ Ð¿ÐµÑеЎаÑО Ñела ПбÑекÑа, ÑвÑзаММПгП Ñ Ð·Ð°Ð¿ÑПÑПЌ ОлО ПÑвеÑПЌ. ТелП ÑППбÑÐµÐœÐžÑ ÐŸÑлОÑаеÑÑÑ ÐŸÑ Ñела ПбÑекÑа (entity-body) ÑПлÑкП в ÑПЌ ÑлÑÑае, кПгЎа пÑОЌеМÑеÑÑÑ ÐºÐŸÐŽÐžÑПваМОе пеÑеЎаÑО, ÑÑП ÑказÑваеÑÑÑ Ð¿ÐŸÐ»ÐµÐŒ загПлПвка Transfer-Encoding.
ÐПле Transfer-Encoding ЎПлжМП ОÑпПлÑзПваÑÑÑÑ ÐŽÐ»Ñ ÑÐºÐ°Ð·Ð°ÐœÐžÑ Ð»ÑбПгП кПЎОÑÐŸÐ²Ð°ÐœÐžÑ Ð¿ÐµÑеЎаÑО, пÑОЌеМеММПгП пÑОлПжеМОеЌ в ÑелÑÑ
гаÑаМÑОÑÐŸÐ²Ð°ÐœÐžÑ Ð±ÐµÐ·ÐŸÐ¿Ð°ÑМПй О пÑавОлÑМПй пеÑеЎаÑО ÑППбÑеМОÑ. ÐПле Transfer-Encoding - ÑÑП ÑвПйÑÑвП ÑППбÑеМОÑ, а Ме ПбÑекÑа, О, ÑакОЌ ПбÑазПЌ, ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐŸ ОлО ÑЎалеМП лÑбÑÐŒ пÑОлПжеМОеЌ в ÑепПÑке запÑПÑПв/ПÑвеÑПв.
ÐÑавОла, ÑÑÑаМавлОваÑÑОе ЎПпÑÑÑОЌПÑÑÑ Ñела ÑППбÑÐµÐœÐžÑ Ð² ÑППбÑеМОО, ПÑлОÑÐœÑ ÐŽÐ»Ñ Ð·Ð°Ð¿ÑПÑПв О ПÑвеÑПв.
ÐÑОÑÑÑÑÑвОе Ñела ÑППбÑÐµÐœÐžÑ Ð² запÑПÑе ПÑЌеÑаеÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµÐŒ к загПлПвкаЌ запÑПÑа Ð¿ÐŸÐ»Ñ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐ° Content-Length ОлО Transfer-Encoding. ТелП ÑППбÑÐµÐœÐžÑ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐŸ в запÑПÑ, ÑПлÑкП кПгЎа ЌеÑПЎ запÑПÑа ЎПпÑÑÐºÐ°ÐµÑ ÑелП ПбÑекÑа.
ÐклÑÑаеÑÑÑ ÐžÐ»Ðž Ме вклÑÑаеÑÑÑ ÑелП ÑППбÑÐµÐœÐžÑ Ð² ÑППбÑеМОе ПÑвеÑа - завОÑÐžÑ ÐºÐ°Ðº ÐŸÑ ÐŒÐµÑПЎа запÑПÑа, Ñак О ÐŸÑ ÐºÐŸÐŽÐ° ÑПÑÑПÑÐœÐžÑ ÐŸÑвеÑа. ÐÑе ПÑвеÑÑ ÐœÐ° запÑÐŸÑ Ñ ÐŒÐµÑПЎПЌ HEAD Ме ÐŽÐŸÐ»Ð¶ÐœÑ Ð²ÐºÐ»ÑÑаÑÑ ÑелП ÑППбÑеМОÑ, Ўаже еÑлО пÑОÑÑÑÑÑвÑÑÑ Ð¿ÐŸÐ»Ñ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐ° ПбÑекÑа (entity-header), заÑÑавлÑÑÑОе пПвеÑОÑÑ Ð² пÑОÑÑÑÑÑвОе ПбÑекÑа. ÐОкакОе ПÑвеÑÑ Ñ ÐºÐŸÐŽÐ°ÐŒÐž ÑПÑÑПÑÐœÐžÑ 1xx (ÐМÑПÑЌаÑОПММÑе), 204 (ÐÐµÑ ÑПЎеÑжОЌПгП, No Content), О 304 (Ðе ЌПЎОÑОÑОÑПваМ, Not Modified) Ме ÐŽÐŸÐ»Ð¶ÐœÑ ÑПЎеÑжаÑÑ Ñела ÑППбÑеМОÑ. ÐÑе ÐŽÑÑгОе ПÑвеÑÑ ÑПЎеÑÐ¶Ð°Ñ ÑелП ÑППбÑеМОÑ, Ўаже еÑлО ПМП ÐžÐŒÐµÐµÑ ÐœÑлевÑÑ ÐŽÐ»ÐžÐœÑ.
ÐеÑÐŸÐŽÑ HTTP
ÐеÑПЎ HTTP (аМгл. HTTP Method) - пПÑлеЎПваÑелÑМПÑÑÑ ÐžÐ· лÑбÑÑ
ÑОЌвПлПв, кÑПЌе ÑпÑавлÑÑÑОÑ
О ÑазЎелОÑелей, ÑказÑваÑÑÐ°Ñ ÐœÐ° ПÑМПвМÑÑ ÐŸÐ¿ÐµÑаÑÐžÑ ÐœÐ°ÐŽ ÑÐµÑ ÑÑÑПЌ. ÐбÑÑМП ЌеÑПЎ пÑеЎÑÑавлÑÐµÑ ÑПбПй кПÑПÑкПе аМглОйÑкПе ÑлПвП, запОÑаММПе заглавМÑЌО бÑкваЌО. ÐбÑаÑОÑе вМОЌаМОе, ÑÑП МазваМОе ЌеÑПЎа ÑÑвÑÑвОÑелÑМП к ÑегОÑÑÑÑ.
СеÑÐ²ÐµÑ ÐŒÐŸÐ¶ÐµÑ ÐžÑпПлÑзПваÑÑ Ð»ÑбÑе ЌеÑПЎÑ, Ме ÑÑÑеÑÑвÑÐµÑ ÐŸÐ±ÑзаÑелÑМÑÑ
ЌеÑПЎПв ÐŽÐ»Ñ ÑеÑвеÑа ОлО клОеМÑа, кÑПЌе ÑПгП, пÑПгÑаЌЌОÑÑ ÐŒÐŸÐ¶ÐµÑ ÑвÑзаÑÑ ÐŒÐµÑПЎ О вÑпПлМÑеЌÑÑ ÑÑМкÑÐžÑ ÐºÐ°Ðº ÑгПЎМП егП ÑаМÑазОО. ÐП ОзбежаМОе Ñ
аПÑа ÑÑÑеÑÑвÑÑÑ ÑПглаÑÐµÐœÐžÑ (ÑÐŸÑ Ð¶Ðµ REST) О ÑÑаМЎаÑÑÑ. ЀПÑЌалÑМП еÑлО ÑеÑÐ²ÐµÑ ÐœÐµ ÑаÑпПзМал ÑказаММÑй клОеМÑПЌ ЌеÑПЎ, ÑП ПМ ЎПлжеМ веÑÐœÑ ÑÑ ÑÑаÑÑÑ 501 (Not Implemented). ÐÑлО ÑеÑвеÑÑ ÐŒÐµÑПЎ ОзвеÑÑеМ, МП ПМ МепÑОЌеМОЌ к кПМкÑеÑÐœÐŸÐŒÑ ÑеÑÑÑÑÑ, ÑП вПзвÑаÑаеÑÑÑ ÑППбÑеМОе Ñ ÐºÐŸÐŽÐŸÐŒ 405 (Method Not Allowed). РПбПОÑ
ÑлÑÑаÑÑ
ÑеÑвеÑÑ ÑлеЎÑÐµÑ Ð²ÐºÐ»ÑÑОÑÑ Ð² ÑППбÑеМОе ПÑвеÑа загПлПвПк Allow ÑП ÑпОÑкПЌ пПЎЎеÑжОваеЌÑÑ
ЌеÑПЎПв.
ÐÑМПвМÑЌО О ÑаÑе вÑегП ОÑпПлÑзÑеЌÑЌО ЌеÑПЎаЌО ÑвлÑÑÑÑÑ GET, POST, PUT, DELETE кПÑПÑÑе ÑквОвалеМÑÐœÑ Ð±Ð°Ð·ÐŸÐ²ÑÐŒ ÑÑМкÑОÑÐŒ пÑО ÑабПÑе Ñ ÐРОлО лÑбÑЌО Ñ
ÑаМОЌÑЌО вÑÑОÑлОÑелÑМÑЌО ÑÑÑМПÑÑÑЌО - CRUD (create, read, update, delete).
- OPTIONS: ÐÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÐžÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑей веб-ÑеÑвеÑа ОлО паÑаЌеÑÑПв ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ ÐŽÐ»Ñ ÐºÐŸÐœÐºÑеÑМПгП ÑеÑÑÑÑа. РПÑÐ²ÐµÑ ÑеÑвеÑÑ ÑлеЎÑÐµÑ Ð²ÐºÐ»ÑÑОÑÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐŸÐº Allow ÑП ÑпОÑкПЌ пПЎЎеÑжОваеЌÑÑ ÐŒÐµÑПЎПв. Также в загПлПвке ПÑвеÑа ÐŒÐŸÐ¶ÐµÑ Ð²ÐºÐ»ÑÑаÑÑÑÑ ÐžÐœÑПÑЌаÑÐžÑ ÐŸ пПЎЎеÑжОваеЌÑÑ ÑаÑÑОÑеМОÑÑ . ÐÑеЎпПлагаеÑÑÑ, ÑÑП запÑÐŸÑ ÐºÐ»ÐžÐµÐœÑа ÐŒÐŸÐ¶ÐµÑ ÑПЎеÑжаÑÑ ÑелП ÑППбÑÐµÐœÐžÑ ÐŽÐ»Ñ ÑÐºÐ°Ð·Ð°ÐœÐžÑ ÐžÐœÑеÑеÑÑÑÑÐžÑ ÐµÐ³ÐŸ ÑвеЎеМОй. ЀПÑÐŒÐ°Ñ Ñела О пПÑÑЎПк ÑабПÑÑ Ñ ÐœÐžÐŒ в МаÑÑПÑÑОй ÐŒÐŸÐŒÐµÐœÑ ÐœÐµ ПпÑеЎелеМ; ÑеÑÐ²ÐµÑ Ð¿ÐŸÐºÐ° ЎПлжеМ егП ОгМПÑОÑПваÑÑ. ÐМалПгОÑÐœÐ°Ñ ÑОÑÑаÑÐžÑ Ðž Ñ ÑелПЌ в ПÑвеÑе ÑеÑвеÑа. ÐÐ»Ñ ÑПгП, ÑÑÐŸÐ±Ñ ÑзМаÑÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑО вÑегП ÑеÑвеÑа, ÐºÐ»ÐžÐµÐœÑ ÐŽÐŸÐ»Ð¶ÐµÐœ ÑказаÑÑ Ð² URI звÑзЎПÑÐºÑ - «*». ÐапÑПÑÑ Â«OPTIONS * HTTP/1.1» ЌПгÑÑ Ñакже пÑОЌеМÑÑÑÑÑ ÐŽÐ»Ñ Ð¿ÑПвеÑкО ÑабПÑПÑпПÑПбМПÑÑО ÑеÑвеÑа (аМалПгОÑМП «пОМгПваМОÑ») О ÑеÑÑОÑÐŸÐ²Ð°ÐœÐžÑ ÐœÐ° пÑÐµÐŽÐŒÐµÑ Ð¿ÐŸÐŽÐŽÐµÑжкО ÑеÑвеÑПЌ пÑПÑПкПла HTTP веÑÑОО 1.1. РезÑлÑÑÐ°Ñ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÑÑПгП ЌеÑПЎа Ме кÑÑОÑÑеÑÑÑ;
- GET: ÐÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ Ð·Ð°Ð¿ÑПÑа ÑПЎеÑжОЌПгП ÑказаММПгП ÑеÑÑÑÑа. С пПЌПÑÑÑ ÐŒÐµÑПЎа GET ЌПжМП Ñакже МаÑаÑÑ ÐºÐ°ÐºÐŸÐ¹-лОбП пÑПÑеÑÑ. Ð ÑÑПЌ ÑлÑÑае в ÑелП ПÑвеÑМПгП ÑППбÑÐµÐœÐžÑ ÑлеЎÑÐµÑ Ð²ÐºÐ»ÑÑОÑÑ ÐžÐœÑПÑЌаÑÐžÑ ÐŸ Ñ ÐŸÐŽÐµ вÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ Ð¿ÑПÑеÑÑа. ÐÐ»ÐžÐµÐœÑ ÐŒÐŸÐ¶ÐµÑ Ð¿ÐµÑеЎаваÑÑ Ð¿Ð°ÑаЌеÑÑÑ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ Ð·Ð°Ð¿ÑПÑа в URI ÑелевПгП ÑеÑÑÑÑа пПÑле ÑОЌвПла «?»: GET /path/resource?param1=value1¶m2=value2 HTTP/1.1. СПглаÑМП ÑÑаМЎаÑÑÑ HTTP, запÑПÑÑ ÑОпа GET ÑÑОÑаÑÑÑÑ ÐžÐŽÐµÐŒÐ¿ÐŸÑеМÑМÑЌО. ÐÑПЌе ПбÑÑМПгП ЌеÑПЎа GET, ÑазлОÑаÑÑ ÐµÑÑ
- УÑлПвМÑй GET - ÑПЎеÑÐ¶ÐžÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐž If-Modified-Since, If-Match, If-Range О пПЎПбМÑе;
- ЧаÑÑОÑМÑй GET - ÑПЎе ÑÐ¶ÐžÑ Ð² запÑПÑе Range.
ÐПÑÑЎПк вÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ Ð¿ÐŸÐŽÐŸÐ±ÐœÑÑ Ð·Ð°Ð¿ÑПÑПв ПпÑеЎелеМ ÑÑаМЎаÑÑаЌО ПÑЎелÑМП; - HEAD: ÐМалПгОÑеМ ЌеÑÐŸÐŽÑ GET, за ОÑклÑÑеМОеЌ ÑПгП, ÑÑП в ПÑвеÑе ÑеÑвеÑа ПÑÑÑÑÑÑвÑÐµÑ ÑелП. ÐапÑÐŸÑ HEAD ПбÑÑМП пÑОЌеМÑеÑÑÑ ÐŽÐ»Ñ ÐžÐ·Ð²Ð»ÐµÑÐµÐœÐžÑ ÐŒÐµÑаЎаММÑÑ , пÑПвеÑкО МалОÑÐžÑ ÑеÑÑÑÑа (валОЎаÑÐžÑ URL) О ÑÑÐŸÐ±Ñ ÑзМаÑÑ, Ме ОзЌеМОлÑÑ Ð»Ðž ПМ Ñ ÐŒÐŸÐŒÐµÐœÑа пПÑлеЎМегП ПбÑаÑеМОÑ. ÐагПлПвкО ПÑвеÑа ЌПгÑÑ ÐºÑÑОÑПваÑÑÑÑ. ÐÑО МеÑПвпаЎеМОО ЌеÑаЎаММÑÑ ÑеÑÑÑÑа Ñ ÑППÑвеÑÑÑвÑÑÑей ОМÑПÑЌаÑОей в кÑÑе - ÐºÐŸÐ¿ÐžÑ ÑеÑÑÑÑа пПЌеÑаеÑÑÑ ÐºÐ°Ðº ÑÑÑаÑевÑаÑ;
- POST: ÐÑОЌеМÑеÑÑÑ ÐŽÐ»Ñ Ð¿ÐµÑеЎаÑО пПлÑзПваÑелÑÑÐºÐžÑ ÐŽÐ°ÐœÐœÑÑ Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐŒÑ ÑеÑÑÑÑÑ. ÐапÑОЌеÑ, в Ð±Ð»ÐŸÐ³Ð°Ñ Ð¿ÐŸÑеÑОÑелО ПбÑÑМП ЌПгÑÑ Ð²Ð²ÐŸÐŽÐžÑÑ ÑвПО кПЌЌеМÑаÑОО к запОÑÑÐŒ в HTML-ÑПÑÐŒÑ, пПÑле ÑегП ПМО пеÑеЎаÑÑÑÑ ÑеÑвеÑÑ ÐŒÐµÑПЎПЌ POST О ПМ пПЌеÑÐ°ÐµÑ ÐžÑ ÐœÐ° ÑÑÑаМОÑÑ. ÐÑО ÑÑПЌ пеÑеЎаваеЌÑе ЎаММÑе (в пÑОЌеÑе Ñ Ð±Ð»ÐŸÐ³Ð°ÐŒÐž - ÑекÑÑ ÐºÐŸÐŒÐŒÐµÐœÑаÑОÑ) вклÑÑаÑÑÑÑ Ð² ÑелП запÑПÑа. ÐМалПгОÑМП Ñ Ð¿ÐŸÐŒÐŸÑÑÑ ÐŒÐµÑПЎа POST ПбÑÑМП загÑÑжаÑÑÑÑ ÑÐ°Ð¹Ð»Ñ ÐœÐ° ÑеÑвеÑ. РПÑлОÑОе ÐŸÑ ÐŒÐµÑПЎа GET, ЌеÑПЎ POST Ме ÑÑОÑаеÑÑÑ ÐžÐŽÐµÐŒÐ¿ÐŸÑеМÑМÑÐŒ, ÑП еÑÑÑ ÐŒÐœÐŸÐ³ÐŸÐºÑаÑМПе пПвÑПÑеМОе ÐŸÐŽÐœÐžÑ Ðž ÑÐµÑ Ð¶Ðµ запÑПÑПв POST ÐŒÐŸÐ¶ÐµÑ Ð²ÐŸÐ·Ð²ÑаÑаÑÑ ÑазМÑе ÑезÑлÑÑаÑÑ (МапÑОЌеÑ, пПÑле кажЎПй ПÑпÑавкО кПЌЌеМÑаÑÐžÑ Ð±ÑÐŽÐµÑ Ð¿ÐŸÑвлÑÑÑÑÑ ÐŸÑеÑÐµÐŽÐœÐ°Ñ ÐºÐŸÐ¿ÐžÑ ÑÑПгП кПЌЌеМÑаÑОÑ). ÐÑО ÑезÑлÑÑаÑе вÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ 200 (Ok) в ÑелП ПÑвеÑа ÑлеЎÑÐµÑ Ð²ÐºÐ»ÑÑОÑÑ ÑППбÑеМОе Пб ОÑПге вÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ Ð·Ð°Ð¿ÑПÑа. ÐÑлО бÑл ÑПзЎаМ ÑеÑÑÑÑ, ÑП ÑеÑвеÑÑ ÑлеЎÑÐµÑ Ð²ÐµÑМÑÑÑ ÐŸÑÐ²ÐµÑ 201 (Created) Ñ ÑказаМОеЌ URI МПвПгП ÑеÑÑÑÑа в загПлПвке Location. СППбÑеМОе ПÑвеÑа ÑеÑвеÑа Ма вÑпПлМеМОе ЌеÑПЎа POST Ме кÑÑОÑÑеÑÑÑ. СÑÐŸÐžÑ ÐŸÑЌеÑОÑÑ, ÑÑП Ме вÑегЎа ЎаММÑе ЌПгÑÑ Ð±ÑÑÑ Ð»ÐžÑÑ Ð² Ñеле;
- PUT: ÐÑОЌеМÑеÑÑÑ ÐŽÐ»Ñ Ð·Ð°Ð³ÑÑзкО ÑПЎеÑжОЌПгП запÑПÑа Ма ÑказаММÑй в запÑПÑе URI. ÐÑлО пП Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐŒÑ URI Ме ÑÑÑеÑÑвÑÐµÑ ÑеÑÑÑÑа, ÑП ÑеÑÐ²ÐµÑ ÑПзЎаÑÑ ÐµÐ³ÐŸ О вПзвÑаÑÐ°ÐµÑ ÑÑаÑÑÑ 201 (Created). ÐÑлО же ÑеÑÑÑÑ Ð±Ñл ОзЌеМеМ, ÑП ÑеÑÐ²ÐµÑ Ð²ÐŸÐ·Ð²ÑаÑÐ°ÐµÑ 200 (Ok) ОлО 204 (No Content). СеÑÐ²ÐµÑ ÐœÐµ ЎПлжеМ ОгМПÑОÑПваÑÑ ÐœÐµÐºÐŸÑÑекÑМÑе загПлПвкО Content-*, пеÑеЎаваеЌÑе клОеМÑПЌ вЌеÑÑе Ñ ÑППбÑеМОеЌ. ÐÑлО какПй-ÑП Оз ÑÑÐžÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐŸÐ² Ме ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÑаÑпПзМаМ ОлО МеЎПпÑÑÑОЌ пÑО ÑекÑÑÐžÑ ÑÑлПвОÑÑ , ÑП ÐœÐµÐŸÐ±Ñ ÐŸÐŽÐžÐŒÐŸ веÑМÑÑÑ ÐºÐŸÐŽ ПÑОбкО 501 (Not Implemented). ЀÑМЎаЌеМÑалÑМПе ÑазлОÑОе ЌеÑПЎПв POST О PUT заклÑÑаеÑÑÑ Ð² пПМОЌаМОО пÑеЎМазМаÑеМОй URI ÑеÑÑÑÑПв. ÐеÑПЎ POST пÑеЎпПлагаеÑ, ÑÑП пП ÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐŒÑ URI бÑÐŽÐµÑ Ð¿ÑПОзвПЎОÑÑÑÑ ÐŸÐ±ÑабПÑка пеÑеЎаваеЌПгП клОеМÑПЌ ÑПЎеÑжОЌПгП. ÐÑпПлÑзÑÑ PUT, ÐºÐ»ÐžÐµÐœÑ Ð¿ÑеЎпПлагаеÑ, ÑÑП загÑÑжаеЌПе ÑПЎеÑжОЌПе ÑППÑвеÑÑÑвÑÐµÑ ÐœÐ°Ñ ÐŸÐŽÑÑеЌÑÑÑ Ð¿ÐŸ ÐŽÐ°ÐœÐœÐŸÐŒÑ URI ÑеÑÑÑÑÑ. СППбÑÐµÐœÐžÑ ÐŸÑвеÑПв ÑеÑвеÑа Ма ЌеÑПЎ PUT Ме кÑÑОÑÑÑÑÑÑ;
- PATCH: ÐМалПгОÑМП PUT, МП пÑОЌеМÑеÑÑÑ ÑПлÑкП к ÑÑагЌеМÑÑ ÑеÑÑÑÑа;
- DELETE: УЎалÑÐµÑ ÑказаММÑй ÑеÑÑÑÑ;
- TRACE: ÐПзвÑаÑÐ°ÐµÑ Ð¿ÐŸÐ»ÑÑеММÑй запÑÐŸÑ Ñак, ÑÑП ÐºÐ»ÐžÐµÐœÑ ÐŒÐŸÐ¶ÐµÑ ÑвОЎеÑÑ, какÑÑ ÐžÐœÑПÑЌаÑÐžÑ Ð¿ÑПЌежÑÑПÑМÑе ÑеÑвеÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÑÑÑ ÐžÐ»Ðž ОзЌеМÑÑÑ Ð² запÑПÑе;
- CONNECT: ÐÑеПбÑазÑÐµÑ ÑПеЎОМеМОе запÑПÑа в пÑПзÑаÑМÑй TCP/IP-ÑÑММелÑ, ПбÑÑМП ÑÑÐŸÐ±Ñ ÑПЎейÑÑвПваÑÑ ÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐžÑ Ð·Ð°ÑОÑеММПгП SSL-ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ ÑеÑез МеÑОÑÑПваММÑй пÑПкÑО.
РазлОÑÐžÑ ÐŒÐµÑПЎПв GET О POST
ÐÑМПвМПе ÑПÑÑÐŸÐžÑ Ð² ÑпПÑПбе пеÑеЎаÑО ЎаММÑÑ
веб-ÑПÑÐŒÑ ÐŸÐ±ÑабаÑÑваÑÑÐµÐŒÑ ÑкÑОпÑÑ, а ОЌеММП:
- ÐеÑПЎ GET ПÑпÑавлÑÐµÑ ÑкÑОпÑÑ Ð²ÑÑ ÑПбÑаММÑÑ ÐžÐœÑПÑЌаÑÐžÑ ÑПÑÐŒÑ ÐºÐ°Ðº ÑаÑÑÑ URL: http://www.komtet.ru/script.php?login=admin&name=komtet
- ÐеÑПЎ POST пеÑÐµÐŽÐ°ÐµÑ ÐŽÐ°ÐœÐœÑе ÑакОЌ ПбÑазПЌ, ÑÑП пПлÑзПваÑÐµÐ»Ñ ÑайÑа Ñже Ме Ð²ÐžÐŽÐžÑ Ð¿ÐµÑеЎаваеЌÑе ÑкÑОпÑÑ ÐŽÐ°ÐœÐœÑе: http://www.komtet.ru/script.php
ÐÑПЌе ÑПгП:
- ÐПлОÑеÑÑвП ОМÑПÑЌаÑОО, пеÑеЎаваеЌПй ЌеÑПЎПЌ GET ÑеÑез URL ÑÑÑÐŸÐºÑ ÐŸÐ³ÑаМОÑеМП 2048 ÑОЌвПлаЌО (ЌОМÑÑ ÑлÑÐ¶ÐµÐ±ÐœÐ°Ñ ÐžÐœÑПÑЌаÑÐžÑ Ð±ÑаÑзеÑа);
- СÑÑаМОÑÑ, ÑгеМеÑОÑПваММÑÑ ÐŒÐµÑПЎПЌ GET, ЌПжМП ЎПбавОÑÑ Ð² заклаЎкО О пПЎелОÑÑÑÑ ÑÑÑлкПй;
- Sensitive data в ÑакПЌ ПÑкÑÑÑПЌ вОЎе ПÑевОЎМП Ð¿Ð»ÐŸÑ ÐŸ влОÑÑÑ ÐœÐ° безПпаÑМПÑÑÑ;
- ÐеÑПЎ POST в ПÑлОÑОе ÐŸÑ ÐŒÐµÑПЎа GET пПзвПлÑÐµÑ Ð¿ÐµÑеЎаваÑÑ Ð·Ð°Ð¿ÑПÑÑ ÑайлÑ;
- ÐÑО ОÑпПлÑзПваМОО ЌеÑПЎа GET ÑÑÑеÑÑвÑÐµÑ ÑОÑк ÑПгП, ÑÑП пПОÑкПвÑй ÑÐŸÐ±ÐŸÑ ÐŒÐŸÐ¶ÐµÑ Ð²ÑпПлМОÑÑ ÑÐŸÑ ÐžÐ»Ðž ОМПй ПÑкÑÑÑÑй запÑПÑ.
ÐÐŸÐŽÑ ÑПÑÑПÑМОÑ
ÐПЎ ÑПÑÑПÑÐœÐžÑ ÑвлÑеÑÑÑ ÑаÑÑÑÑ Ð¿ÐµÑвПй ÑÑÑПкО ПÑвеÑа ÑеÑвеÑа. ÐМ пÑеЎÑÑавлÑÐµÑ ÑПбПй ÑелПе ÑОÑлП Оз ÑÑÑÑ
ÑОÑÑ. ÐеÑÐ²Ð°Ñ ÑОÑÑа ÑказÑÐ²Ð°ÐµÑ ÐœÐ° клаÑÑ ÑПÑÑПÑМОÑ. Ðа кПЎПЌ ПÑвеÑа ПбÑÑМП ÑлеЎÑÐµÑ ÐŸÑÐŽÐµÐ»ÐµÐœÐœÐ°Ñ Ð¿ÑПбелПЌ пПÑÑМÑÑÑÐ°Ñ ÑÑаза Ма аМглОйÑкПЌ ÑзÑке, кПÑПÑÐ°Ñ ÑазÑÑÑМÑÐµÑ ÑÐµÐ»ÐŸÐ²ÐµÐºÑ Ð¿ÑОÑÐžÐœÑ ÐžÐŒÐµÐœÐœÐŸ ÑакПгП ПÑвеÑа. ÐÑОЌеÑÑ:
- 201 Webpage Created;
- 403 Access allowed only for registered users;
- 507 Insufficient Storage.
ÐÐ»ÐžÐµÐœÑ ÑзМаÑÑ Ð¿ÐŸ ÐºÐŸÐŽÑ ÐŸÑвеÑа П ÑезÑлÑÑаÑаÑ
егП запÑПÑа О ПпÑеЎелÑеÑ, какОе ЎейÑÑÐ²ÐžÑ ÐµÐŒÑ Ð¿ÑеЎпÑОМОЌаÑÑ ÐŽÐ°Ð»ÑÑе. ÐÐ°Ð±ÐŸÑ ÐºÐŸÐŽÐŸÐ² ÑПÑÑПÑÐœÐžÑ ÑвлÑеÑÑÑ ÑÑаМЎаÑÑПЌ, О ПМО ПпОÑÐ°ÐœÑ Ð² ÑППÑвеÑÑÑвÑÑÑОÑ
ЎПкÑЌеМÑаÑ
RFC. ÐвеЎеМОе МПвÑÑ
кПЎПв ЎПлжМП пÑПОзвПЎОÑÑÑÑ ÑПлÑкП пПÑле ÑПглаÑÐŸÐ²Ð°ÐœÐžÑ Ñ IETF. ÐÐ»ÐžÐµÐœÑ ÐŒÐŸÐ¶ÐµÑ ÐœÐµ зМаÑÑ Ð²Ñе ÐºÐŸÐŽÑ ÑПÑÑПÑМОÑ, МП ПМ ПбÑзаМ ПÑÑеагОÑПваÑÑ Ð² ÑППÑвеÑÑÑвОО Ñ ÐºÐ»Ð°ÑÑПЌ кПЎа.
РМаÑÑПÑÑее вÑÐµÐŒÑ Ð²ÑЎелеМП пÑÑÑ ÐºÐ»Ð°ÑÑПв кПЎПв ÑПÑÑПÑМОÑ.
ÐПЎ | ÐлаÑÑ | ÐазМаÑеМОе |
100-е (1ХХ) | ÐМÑПÑЌаÑОПММÑй (аМгл. informational) | ÐМÑПÑЌОÑПваМОе П пÑПÑеÑÑе пеÑеЎаÑО. Ð HTTP/1.0 - ÑППбÑÐµÐœÐžÑ Ñ ÑакОЌО кПЎаЌО ÐŽÐŸÐ»Ð¶ÐœÑ ÐžÐ³ÐœÐŸÑОÑПваÑÑÑÑ. Ð HTTP/1.1 - ÐºÐ»ÐžÐµÐœÑ ÐŽÐŸÐ»Ð¶ÐµÐœ бÑÑÑ Ð³ÐŸÑПв пÑОМÑÑÑ ÑÑÐŸÑ ÐºÐ»Ð°ÑÑ ÑППбÑеМОй как ПбÑÑМÑй ПÑвеÑ, МП МОÑегП ПÑпÑавлÑÑÑ ÑеÑвеÑÑ ÐœÐµ МÑжМП. СаЌО ÑППбÑÐµÐœÐžÑ ÐŸÑ ÑеÑвеÑа ÑПЎеÑÐ¶Ð°Ñ ÑПлÑкП ÑÑаÑÑПвÑÑ ÑÑÑÐŸÐºÑ ÐŸÑвеÑа О, еÑлО ÑÑебÑеÑÑÑ, МеÑкПлÑкП ÑпеÑОÑОÑМÑÑ
ÐŽÐ»Ñ ÐŸÑвеÑа пПлей загПлПвка. ÐÑПкÑО-ÑеÑвеÑÑ Ð¿ÐŸÐŽÐŸÐ±ÐœÑе ÑППбÑÐµÐœÐžÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÐŸÑпÑавлÑÑÑ ÐŽÐ°Ð»ÑÑе ÐŸÑ ÑеÑвеÑа к клОеМÑÑ. |
200-е (2ХХ) | УÑпеÑ
(аМгл. Success) | ÐМÑПÑЌОÑПваМОе П ÑлÑÑаÑÑ
ÑÑпеÑМПгП пÑОМÑÑÐžÑ Ðž ПбÑабПÑкО запÑПÑа клОеМÑа. РзавОÑОЌПÑÑО ÐŸÑ ÑÑаÑÑÑа, ÑеÑÐ²ÐµÑ ÐŒÐŸÐ¶ÐµÑ ÐµÑÑ Ð¿ÐµÑеЎаÑÑ Ð·Ð°Ð³ÐŸÐ»ÐŸÐ²ÐºÐž О ÑелП ÑППбÑеМОÑ. |
300-е (3ХХ) | ÐеÑеМапÑавлеМОе (аМгл. Redirection) | СППбÑÐ°ÐµÑ ÐºÐ»ÐžÐµÐœ ÑÑ, ÑÑП ÐŽÐ»Ñ ÑÑпеÑМПгП вÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÐŸÐ¿ÐµÑаÑОО МеПбÑ
ПЎОЌП ÑЎелаÑÑ ÐŽÑÑгПй запÑÐŸÑ (как пÑавОлП пП ÐŽÑÑÐ³ÐŸÐŒÑ URI). Ðз ЎаММПгП клаÑÑа пÑÑÑ ÐºÐŸÐŽÐŸÐ² 301, 302, 303, 305 О 307 ПÑМПÑÑÑÑÑ ÐœÐµÐ¿ÐŸÑÑеЎÑÑвеММП к пеÑеМапÑавлеМОÑÐŒ (ÑеЎОÑекÑ). ÐÐŽÑеÑ, пП кПÑПÑÐŸÐŒÑ ÐºÐ»ÐžÐµÐœÑÑ ÑлеЎÑÐµÑ Ð¿ÑПОзвеÑÑО запÑПÑ, ÑеÑÐ²ÐµÑ ÑказÑÐ²Ð°ÐµÑ Ð² загПлПвке Location. ÐÑО ÑÑПЌ ЎПпÑÑкаеÑÑÑ ÐžÑпПлÑзПваМОе ÑÑагЌеМÑПв в ÑелевПЌ URI. |
400-е (4ХХ) | ÐÑОбка клОеМÑа (аМгл. Client Error) | УказаМОе ПÑОбПк ÑП ÑÑПÑÐŸÐœÑ ÐºÐ»ÐžÐµÐœÑа. ÐÑО ОÑпПлÑзПваМОО вÑеÑ
ЌеÑПЎПв, кÑПЌе HEAD, ÑеÑÐ²ÐµÑ ÐŽÐŸÐ»Ð¶ÐµÐœ веÑМÑÑÑ Ð² Ñеле ÑППбÑÐµÐœÐžÑ Ð³ÐžÐ¿ÐµÑÑекÑÑПвПе пПÑÑМеМОе ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑзПваÑелÑ. |
500-е (5ХХ) | ÐÑОбка ÑеÑвеÑа (аМгл. Server Error) | ÐМÑПÑЌОÑПваМОе П ÑлÑÑаÑÑ
МеÑЎаÑМПгП вÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÐŸÐ¿ÐµÑаÑОО пП вОМе ÑеÑвеÑа. ÐÐ»Ñ Ð²ÑеÑ
ÑОÑÑаÑОй, кÑПЌе ОÑпПлÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÐŒÐµÑПЎа HEAD, ÑеÑÐ²ÐµÑ ÐŽÐŸÐ»Ð¶ÐµÐœ вклÑÑаÑÑ Ð² ÑелП ÑППбÑÐµÐœÐžÑ ÐŸÐ±ÑÑÑМеМОе, кПÑПÑПе ÐºÐ»ÐžÐµÐœÑ ÐŸÑПбÑÐ°Ð·ÐžÑ Ð¿ÐŸÐ»ÑзПваÑелÑ. |
ÐПлМÑй пеÑеÑÐµÐœÑ ÐŒÐŸÐ¶ÐœÐŸ МайÑО ÑÑÑ. ÐаММÑе ÐŽÐžÐ°Ð¿Ð°Ð·ÐŸÐœÑ ÐŸÐ¿ÑÐµÐŽÐµÐ»ÐµÐœÑ Ð² ÑÑаМЎаÑÑаÑ
, ПЎМакП МОÑегП Ме ЌеÑÐ°ÐµÑ Ð² пПвÑеЎМевМПй жОзМО ÑвОЎеÑÑ Ðž МеПÑОÑОалÑМÑе, еÑе О еÑе.
ÐПÑÐµÐŒÑ ÐŸÑОбка 404 ПÑМПÑОÑÑÑ Ðº 4 - клОеМÑÑкПй, еÑлО пП ОМÑÑОÑОвМП ЎПлжМа бÑÑÑ ÑеÑвеÑМПй? ÐбÑÑÑМÑеÑÑÑ ÑÑП ÑеЌ, ÑÑП ÑеÑÐ²ÐµÑ ÑабПÑÐ°ÐµÑ Ðž гПÑПв веÑМÑÑÑ ÑÑÑаМОÑÑ Ð² ПÑÐ²ÐµÑ ÐœÐ° запÑПÑ, ПЎМакП ÑÑÑаМОÑÑ Ð¿ÐŸ запÑаÑÐžÐ²Ð°ÐµÐŒÐŸÐŒÑ Ð°ÐŽÑеÑÑ Ñ ÐœÐµÐ³ÐŸ пПпÑПÑÑÑ ÐœÐµÑ. ТакОЌ ПбÑазПЌ, Ð²ÐžÐœÑ ÑеÑвеÑа в ÑÑПЌ ÐœÐµÑ Ðž пÑеЎпПлагаеÑÑÑ ÐŸÐ¿ÐµÑаÑка в URL, кПÑПÑÐ°Ñ ÑвлÑеÑÑÑ Ð²ÐžÐœÐŸÐ¹ клОеМÑа. Ð ÑÑПЌ вПпÑПÑе ÑÐ±ÐžÐ²Ð°ÐµÑ Ñ ÑÐŸÐ»ÐºÑ ÑП, ÑÑП ПÑОбка 404 ÑаÑÑП вПзвÑаÑаеÑÑÑ, кПгЎа ÑÑÑаМОÑа бÑла пеÑеЌеÑеМа ОлО ÑЎалеМа, ОлО Ме ÑÐŸÐ²Ð¿Ð°ÐŽÐ°ÐµÑ ÐžÐŒÑ Ñайла в кПЎе О Ма ÑеÑвеÑе. ТПгЎа кПÑÑекÑМее пПказÑваÑÑ ÐŸÑОбкО 301 Moved Permanently (пеÑеЌеÑеМП), ÑÑП ЌПжМП МаÑÑÑПОÑÑ Ð² кПМÑОгÑÑаÑОО бПлÑÑОМÑÑва ÑеÑвеÑПв, лОбП пÑПОзвПЎОÑÑ Ð¿ÐµÑеМапÑавлеМОе Ма ÐŽÑÑгПй URL, О вПзвÑаÑаÑÑ ÐºÐŸÐŽ 410 Gone (ÑЎалеМП). ÐЎМакП, Ñак как ÑÑО Ўва ваÑОаМÑа ÑÑебÑÑÑ ÑпеÑОалÑМПй МаÑÑÑПйкО ÑеÑвеÑа, бПлÑÑОМÑÑвП веб-ÑайÑПв Ме ОÑпПлÑзÑÑÑ ÐžÑ
.
Ðа какПй ЌеÑПЎ Ме ÐŒÐŸÐ¶ÐµÑ Ð²ÐµÑМÑÑÑÑÑ ÐŸÑОбка 501? The HTTP 501 Not Implemented ÑеÑвеÑМÑй кПЎ ПÑвеÑа Ма ПÑÐžÐ±ÐºÑ ÑказÑваеÑ, ÑÑП ЌеÑПЎ запÑПÑа Ме пПЎЎеÑжОваеÑÑÑ ÑеÑвеÑПЌ О Ме ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ ÐŸÐ±ÑабПÑаМ. ÐЎОМÑÑвеММÑЌО ЌеÑПЎаЌО, кПÑПÑÑе МеПбÑ
ÐŸÐŽÐžÐŒÑ ÑеÑвеÑаЌ ÐŽÐ»Ñ Ð¿ÐŸÐŽÐŽÐµÑжкО (О, ÑлеЎПваÑелÑМП, Ме ÐŽÐŸÐ»Ð¶ÐœÑ Ð²ÐŸÐ·Ð²ÑаÑаÑÑ ÑÑÐŸÑ ÐºÐŸÐŽ), ÑвлÑÑÑÑÑ GET О HEAD.
ÐÑлОÑÐžÑ HTTP/1.1 ÐŸÑ HTTP/2.0
11 ÑевÑÐ°Ð»Ñ 2015 гПЎа ПпÑÐ±Ð»ÐžÐºÐŸÐ²Ð°ÐœÑ ÑОМалÑМÑе веÑÑОО ÑеÑМПвОка ÑлеЎÑÑÑей веÑÑОО пÑПÑПкПла. РПÑлОÑОе ÐŸÑ Ð¿ÑеЎÑÐŽÑÑОÑ
веÑÑОй, пÑПÑПкПл HTTP/2 ÑвлÑеÑÑÑ Ð±ÐžÐœÐ°ÑМÑÐŒ. СÑеЎО клÑÑевÑÑ
ПÑПбеММПÑÑей: ÐŒÑлÑÑОплекÑОÑПваМОе запÑПÑПв, ÑаÑÑÑаМПвка пÑОПÑОÑеÑПв ÐŽÐ»Ñ Ð·Ð°Ð¿ÑПÑПв, ÑжаÑОе загПлПвкПв, загÑÑзка МеÑкПлÑкОÑ
ÑлеЌеМÑПв паÑаллелÑМП пПÑÑеЎÑÑвПЌ ПЎМПгП TCP-ÑПеЎОМеМОÑ, пПЎЎеÑжка пÑПакÑОвМÑÑ
push-ÑвеЎПЌлеМОй ÑП ÑÑПÑÐŸÐœÑ ÑеÑвеÑа. ÐПЎÑПбМее ÑÑÑ.
HTTP3
ÐеÑÑÑОлеÑОÑЌО веÑÑ ÐžÐœÑеÑÐœÐµÑ ÐŽÐµÑжалÑÑ ÐœÐ° TCP, МП ПМ МаÑал ÑÑÑаÑеваÑÑ ÐµÑе в кПМÑе 2000-Ñ
. ÐгП пÑÐµÐŽÐ¿ÐŸÐ»Ð°Ð³Ð°ÐµÐŒÐ°Ñ Ð·Ð°ÐŒÐµÐœÐ°, МПвÑй ÑÑаМÑпПÑÑМÑй пÑПÑПкПл пПЎ МазваМОеЌ QUIC, МаÑÑПлÑкП ПÑлОÑаеÑÑÑ ÐŸÑ TCP пП клÑÑевÑÐŒ пÑМкÑаЌ, ÑÑП пÑПÑÑП ОÑпПлÑзПваÑÑ Ð¿ÐŸÐ²ÐµÑÑ
МегП HTTP/2 бÑлП Ð±Ñ ÐŸÑÐµÐœÑ ÑлПжМП. ÐПÑÑÐŸÐŒÑ ÑаЌ пП Ñебе HTTP/3 - ÑÑП ПÑМПÑОÑелÑМП МезМаÑОÑелÑМПе ОзЌеМеМОе HTTP/2 ÐŽÐ»Ñ Ð°ÐŽÐ°Ð¿ÑаÑОО к ÐœÐŸÐ²ÐŸÐŒÑ Ð¿ÑПÑÐŸÐºÐŸÐ»Ñ QUIC. ÐÐŸÑ ÐŸÐœ-ÑП как Ñаз О ÑПЎеÑÐ¶ÐžÑ Ñе ÑОÑО, кПÑПÑÑе вÑеÑ
пÑОвПЎÑÑ Ð² вПÑÑПÑг.

https://hsto.org/r/w1560/webt/nb/71/n2/nb71n20vpyaiwsjwnafwhl1pxx4.png
TCP, кПÑПÑÑй ÐŒÑ ÐžÑпПлÑзПвалО Ñ Ð¿ÐµÑвÑÑ
ЎМей ОМÑеÑМеÑа, ОзМаÑалÑМП бÑл ÑПзЎаМ Ме Ма ЌакÑО ÐŒÑЌе ÑÑÑекÑОвМПÑÑО, пПÑÑÐŸÐŒÑ ÐœÐ°ÐŒ О ÑÑал МÑжеМ QUIC. ÐапÑОЌеÑ, TCP ÑÑебÑÐµÑ ÑÑкПпПжаÑОе ÐŽÐ»Ñ ÑÑÑаМПвкО МПвПгП ÑПеЎОМеМОÑ, ÑÑÐŸÐ±Ñ Ð¿ÑПвеÑОÑÑ, ÑÑП ÐºÐ»ÐžÐµÐœÑ Ðž ÑеÑÐ²ÐµÑ ÑÑÑеÑÑвÑÑÑ Ðž гПÑÐŸÐ²Ñ ÐŸÐ±ÐŒÐµÐœÐžÐ²Ð°ÑÑÑÑ ÐŽÐ°ÐœÐœÑЌО. ÐÑжМП ÑЎелаÑÑ Ð¿ÐŸÐ»ÐœÑй кÑÑгПвПй пÑÑÑ Ð¿ÐŸ ÑеÑО, пÑежЎе ÑеЌ ЌПжМП бÑÐŽÐµÑ ÐŽÐµÐ»Ð°ÑÑ ÑÑП-ÑП еÑÑ. ÐÑлО ÐºÐ»ÐžÐµÐœÑ Ðž ÑеÑÐ²ÐµÑ ÐœÐ°Ñ
ПЎÑÑÑÑ ÐŽÐ°Ð»ÐµÐºÐŸ, вÑÐµÐŒÑ ÐºÑÑгПвПгП пÑÑО (round-trip time, RTT) ÐŒÐŸÐ¶ÐµÑ ÑПÑÑавОÑÑ Ð±ÐŸÐ»ÐµÐµ 100 ÐŒÑ, ÑÑП пÑÐžÐ²ÐŸÐŽÐžÑ Ðº ПÑÑÑОЌÑÐŒ заЎеÑжкаЌ.
ÐÑПÑПй пÑОЌеÑ: TCP Ð²ÐžÐŽÐžÑ Ð²Ñе ЎаММÑе, кПÑПÑÑе пеÑеЎаеÑ, как ПЎОМ «Ñайл», ОлО пПÑПк байÑПв, ÐŽ аже еÑлО ÐŒÑ Ð¿ÐµÑеЎаеЌ МеÑкПлÑкП ÑайлПв ПЎМПвÑеЌеММП (МапÑОЌеÑ, загÑÑжаеЌ ÑÑÑаМОÑÑ Ñ ÐœÐµÑкПлÑкОЌО ÑеÑÑÑÑаЌО). Ðа пÑакÑОке ÑÑП ПзМаÑаеÑ, ÑÑП, еÑлО пакеÑÑ TCP Ñ ÐŽÐ°ÐœÐœÑЌО ПЎМПгП Ñайла ÑеÑÑÑÑÑÑ, вÑе ПÑÑалÑМÑе ÑÐ°Ð¹Ð»Ñ Ð±ÑÐŽÑÑ Ð¶ÐŽÐ°ÑÑ Ð²ÐŸÑÑÑÐ°ÐœÐŸÐ²Ð»ÐµÐœÐžÑ ÑÑОÑ
пакеÑПв. ÐÑП Ñак МазÑÐ²Ð°ÐµÐŒÐ°Ñ Ð±Ð»ÐŸÐºÐžÑПвка МаÑала ПÑеÑеЎО - head-of-line (HoL) blocking. Ðа пÑакÑОке Ñ ÑÑОЌО МеЎПÑÑаÑкаЌО ЌПжМП бПÑПÑÑÑÑ (ОМаÑе заÑеЌ Ð±Ñ ÐŒÑ ÐŒÑÑОлОÑÑ Ñ TCP ÑелÑÑ
30 Ñ Ð»ÐžÑМОЌ леÑ), МП ПМО ÑеÑÑезМП влОÑÑÑ ÐœÐ° пÑПÑÐŸÐºÐŸÐ»Ñ Ð²ÐµÑÑ
МегП ÑÑПвМÑ, МапÑОЌеÑ, HTTP.
Ðа ÑаЌПЌ Ўеле МаЌ МÑжеМ бÑл Ме HTTP/3, а TCP/2. ÐÑПÑÑП в пÑПÑеÑÑе Ñ ÐœÐ°Ñ ÑаЌ ÑПбПй пПлÑÑОлÑÑ HTTP/3. ÐÑÑ ÑП, ÑегП ÐŒÑ Ñ ÑакОЌ МеÑеÑпеМОеЌ жЎеЌ ÐŸÑ HTTP/3 (бÑÑÑÑÐ°Ñ ÑÑÑаМПвка ÑПеЎОМеМОÑ, ЌеМÑÑе блПкОÑПвПк HoL, ЌОгÑаÑÐžÑ ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ Ðž Ñ. ÐŽ.), - Ма ÑаЌПЌ Ўеле Ñже ÑеалОзПваМП в QUIC.
QUIC
QUIC - ÑÑП ÑМОвеÑÑалÑМÑй ÑÑаМÑпПÑÑМÑй пÑПÑПкПл. Ðак О TCP, ПМ ÐŒÐŸÐ¶ÐµÑ Ðž бÑÐŽÐµÑ ÐžÑпПлÑзПваÑÑÑÑ Ð² ÑазМÑÑ
ÑÑеМаÑОÑÑ
, Ме ÑПлÑкП ÐŽÐ»Ñ HTTP О загÑÑзкО ÑайÑПв. ÐапÑОЌеÑ, пПвеÑÑ
QUIC ЌПжМП пÑОÑÑÑПОÑÑ DNS, SSH, SMB, RTP О Ñак Ўалее. ÐавайÑе ÑзМаеЌ П QUIC ÑÑÑÑ Ð±ÐŸÐ»ÑÑе, Ð²ÐµÐŽÑ ÐžÐŒÐµÐœÐœÐŸ Ñ ÐœÐžÐŒ ÑвÑÐ·Ð°ÐœÑ ÐŒÐœÐŸÐ³ÐžÐµ заблÑÐ¶ÐŽÐµÐœÐžÑ Ð¿ÐŸ Ð¿ÐŸÐ²ÐŸÐŽÑ HTTP/3.
ÐÑ, МавеÑМПе, ÑлÑÑалО, ÑÑП QUIC ÑабПÑÐ°ÐµÑ Ð¿ÐŸÐ²ÐµÑÑ
еÑе ПЎМПгП пÑПÑПкПла - UDP. ÐÑП пÑавЎа, МП пÑПОзвПЎОÑелÑМПÑÑÑ ÑÑÑ ÐœÐž пÑО ÑÑÐŒ. РОЎеале QUIC ЌПг Ð±Ñ Ð±ÑÑÑ Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ ÐœÐµÐ·Ð°Ð²ÐžÑОЌÑÐŒ ÑÑаМÑпПÑÑМÑÐŒ пÑПÑПкПлПЌ ÑÑÐ°Ð·Ñ ÐœÐ°ÐŽ IP в ÑÑеке, как Ма каÑÑОМке вÑÑе.
ÐП ÑПгЎа вПзМОклО Ð±Ñ Ñе же ÑлПжМПÑÑО, ÑÑП О пÑО пПпÑÑке ÑазвОваÑÑ TCP: пÑОÑлПÑÑ Ð±Ñ ÑМаÑала ПбМПвОÑÑ Ð²Ñе ÑÑÑÑПйÑÑва в ОМÑеÑМеÑе, ÑÑÐŸÐ±Ñ ÐŸÐœÐž ÑаÑпПзМавалО О ÑазÑеÑалО QUIC. Ð ÑÑаÑÑÑÑ, ÐŒÑ ÐŒÐŸÐ¶ÐµÐŒ ÑазЌеÑÑОÑÑ QUIC пПвеÑÑ
еÑе ПЎМПгП ÑаÑпÑПÑÑÑаМеММПгП пÑПÑПкПла ÑÑаМÑпПÑÑМПгП ÑÑПвМÑ: UDP.
ÐМПгОе гПвПÑÑÑ, ÑÑП HTTP/3 ÑПзЎаМ пПвеÑÑ
UDP в ÑелÑÑ
пÑПОзвПЎОÑелÑМПÑÑО. Ð¯ÐºÐŸÐ±Ñ HTTP/3 ÑабПÑÐ°ÐµÑ Ð±ÑÑÑÑее, пПÑÐŸÐŒÑ ÑÑП, как О UDP, Ме ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÐµÑ ÑПеЎОМеМОе О Ме Ð¶ÐŽÐµÑ Ð¿ÐŸÐ²ÑПÑМПй пеÑеЎаÑО пакеÑПв. Ðе веÑÑÑе. ÐÑ Ñже ÑказалО, ÑÑП UDP ОÑпПлÑзÑеÑÑÑ Ð¿ÑПÑПкПлПЌ QUIC, а зМаÑÐžÑ Ðž HTTP/3, в МаЎежЎе, ÑÑП Ñак ОÑ
бÑÐŽÐµÑ Ð¿ÑПÑе ÑазвеÑМÑÑÑ, Ð²ÐµÐŽÑ UDP Ñже зМаÑÑ Ðž ОÑпПлÑзÑÑÑ Ð¿ÐŸÑÑО вÑе ÑÑÑÑПйÑÑва в ОМÑеÑМеÑе.
РаÑпПлПжеММÑй пПвеÑÑ
UDP, QUIC, пП ÑÑÑО, ÑеалОзÑÐµÑ Ð¿ÐŸÑÑО вÑе ÑÑМкÑОО, кПÑПÑÑе ЎелаÑÑ TCP ÑакОЌ ÑÑÑекÑОвМÑÐŒ О пПпÑлÑÑМÑÐŒ (пÑÑÑÑ Ðž ÑÑÑÑ Ð±ÐŸÐ»ÐµÐµ ЌеЎлеММÑÐŒ) пÑПÑПкПлПЌ. QUIC абÑПлÑÑМП МаЎежеМ - ПМ ОÑпПлÑзÑÐµÑ Ð¿ÐŸÐŽÑвеÑжЎеМОе пПлÑÑеММÑÑ
пакеÑПв О пПвÑПÑМÑе пеÑеЎаÑО, ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±ÑаÑÑ ÑП, ÑÑП пПÑеÑÑлПÑÑ. QUIC пП-пÑÐµÐ¶ÐœÐµÐŒÑ ÑÑÑÐ°ÐœÐ°Ð²Ð»ÐžÐ²Ð°ÐµÑ ÑПеЎОМеМОе О ОÑпПлÑзÑÐµÑ ÑлПжМÑÑ ÑОÑÑÐµÐŒÑ ÑÑкПпПжаÑОй.
ÐакПМеÑ, QUIC ОÑпПлÑзÑÐµÑ ÐŒÐµÑ
Ð°ÐœÐžÐ·ÐŒÑ flow-control О congestion-control, кПÑПÑÑе Ме ЎаÑÑ ÐŸÑпÑавОÑÐµÐ»Ñ Ð¿ÐµÑегÑÑзОÑÑ ÑеÑÑ ÐžÐ»Ðž пПлÑÑаÑелÑ, МП заЌеЎлÑÑÑ TCP пП ÑÑÐ°Ð²ÐœÐµÐœÐžÑ Â«ÑОÑÑÑЌ» UDP. ÐÑавЎа QUIC ÑеалОзÑÐµÑ ÑÑО ÑÑМкÑОО ÑЌМее О ÑÑÑекÑОвМее. РМÑÐŒ ÑПбÑÐ°ÐœÑ ÐŽÐµÑÑÑОлеÑÐžÑ ÐŸÐ¿ÑÑа О лÑÑÑОÑ
пÑакÑОк TCP О МПвÑе ÑÑМкÑОО.
HTTPS
У HTTP еÑÑÑ ÐŸÐŽÐžÐœ МеЎПÑÑаÑПк: ЎаММÑе пеÑеЎаÑÑÑÑ Ð² ПÑкÑÑÑПЌ вОЎе О МОкак Ме заÑОÑеМÑ. Ðа пÑÑО Оз ÑПÑкО Рв ÑПÑÐºÑ Ð ÐžÐœÑПÑЌаÑÐžÑ Ð² ОМÑеÑМеÑе пÑПÑ
ÐŸÐŽÐžÑ ÑеÑез ЎеÑÑÑкО пÑПЌежÑÑПÑМÑÑ
ÑзлПв, О, еÑлО Ñ
ПÑÑ ÐŸÐŽÐžÐœ Оз МОÑ
МаÑ
ПЎОÑÑÑ Ð¿ÐŸÐŽ кПМÑÑПлеЌ злПÑÐŒÑÑлеММОка, ЎаММÑе ЌПгÑÑ Ð¿ÐµÑеÑ
ваÑОÑÑ. ТП же ÑаЌПе ÐŒÐŸÐ¶ÐµÑ Ð¿ÑПОзПйÑО, кПгЎа Ð²Ñ Ð¿ÐŸÐ»ÑзÑеÑеÑÑ ÐœÐµÐ·Ð°ÑОÑеММПй ÑеÑÑÑ Wi-Fi, МапÑОЌеÑ, в каÑе. ÐÐ»Ñ ÑÑÑаМПвкО безПпаÑМПгП ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ ÐžÑпПлÑзÑеÑÑÑ Ð¿ÑПÑПкПл HTTPS Ñ Ð¿ÐŸÐŽÐŽÐµÑжкПй ÑОÑÑПваМОÑ.
HTTPS (аббÑ. ÐŸÑ Ð°ÐœÐ³Ð». HyperText Transfer Protocol Secure) - ÑаÑÑОÑеМОе пÑПÑПкПла HTTP ÐŽÐ»Ñ Ð¿ÐŸÐŽÐŽÐµÑжкО ÑОÑÑÐŸÐ²Ð°ÐœÐžÑ Ð² ÑелÑÑ
пПвÑÑÐµÐœÐžÑ Ð±ÐµÐ·ÐŸÐ¿Ð°ÑМПÑÑО. ÐаММÑе в пÑПÑПкПле HTTPS пеÑеЎаÑÑÑÑ Ð¿ÐŸÐ²ÐµÑÑ
кÑОпÑПгÑаÑОÑеÑкОÑ
пÑПÑПкПлПв TLS ОлО ÑÑÑаÑевÑегП в 2015 Ð³ÐŸÐŽÑ SSL.
HTTPS Ме ÑвлÑеÑÑÑ ÐŸÑЎелÑМÑÐŒ пÑПÑПкПлПЌ. ÐÑП ПбÑÑМÑй HTTP, ÑабПÑаÑÑОй ÑеÑез ÑОÑÑПваММÑе ÑÑаМÑпПÑÑМÑе ЌеÑ
Ð°ÐœÐžÐ·ÐŒÑ SSL О TLS. ÐМ ПбеÑпеÑÐžÐ²Ð°ÐµÑ Ð·Ð°ÑОÑÑ ÐŸÑ Ð°Ñак, ПÑМПваММÑÑ
Ма пÑПÑлÑÑОваМОО ÑеÑевПгП ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ - ÐŸÑ ÑМОÑÑеÑÑкОÑ
аÑак О аÑак ÑОпа man-in-the-middle, пÑО ÑÑлПвОО, ÑÑП бÑÐŽÑÑ ÐžÑпПлÑзПваÑÑÑÑ ÑОÑÑÑÑÑОе ÑÑеЎÑÑва О ÑеÑÑОÑÐžÐºÐ°Ñ ÑеÑвеÑа пÑПвеÑеМ О ÐµÐŒÑ ÐŽÐŸÐ²ÐµÑÑÑÑ.
ÐП ÑЌПлÑÐ°ÐœÐžÑ HTTPS URL ОÑпПлÑзÑÐµÑ 443 TCP-пПÑÑ (ÐŽÐ»Ñ ÐœÐµÐ·Ð°ÑОÑеММПгП HTTP - 80). ЧÑÐŸÐ±Ñ Ð¿ÐŸÐŽÐ³ÐŸÑПвОÑÑ Ð²ÐµÐ±-ÑеÑÐ²ÐµÑ ÐŽÐ»Ñ ÐŸÐ±ÑабПÑкО https-ÑПеЎОМеМОй, аЎЌОМОÑÑÑаÑÐŸÑ ÐŽÐŸÐ»Ð¶ÐµÐœ пПлÑÑОÑÑ Ðž ÑÑÑаМПвОÑÑ Ð² ÑОÑÑÐµÐŒÑ ÑеÑÑОÑÐžÐºÐ°Ñ ÐŸÑкÑÑÑПгП О закÑÑÑПгП клÑÑа ÐŽÐ»Ñ ÑÑПгП веб-ÑеÑвеÑа. Ð TLS ОÑпПлÑзÑеÑÑÑ ÐºÐ°Ðº аÑОЌЌеÑÑОÑÐœÐ°Ñ ÑÑ
еЌа ÑОÑÑÐŸÐ²Ð°ÐœÐžÑ (ÐŽÐ»Ñ Ð²ÑÑабПÑкО ПбÑегП ÑекÑеÑМПгП клÑÑа), Ñак О ÑОЌЌеÑÑОÑÐœÐ°Ñ (ÐŽÐ»Ñ ÐŸÐ±ÐŒÐµÐœÐ° ЎаММÑЌО, заÑОÑÑПваММÑЌО ПбÑОЌ клÑÑПЌ). СеÑÑОÑÐžÐºÐ°Ñ ÐŸÑкÑÑÑПгП клÑÑа пПЎÑвеÑÐ¶ÐŽÐ°ÐµÑ Ð¿ÑОМаЎлежМПÑÑÑ ÐŽÐ°ÐœÐœÐŸÐ³ÐŸ ПÑкÑÑÑПгП клÑÑа влаЎелÑÑÑ ÑайÑа. СеÑÑОÑÐžÐºÐ°Ñ ÐŸÑкÑÑÑПгП клÑÑа О ÑаЌ ПÑкÑÑÑÑй клÑÑ Ð¿ÐŸÑÑлаÑÑÑÑ ÐºÐ»ÐžÐµÐœÑÑ Ð¿ÑО ÑÑÑаМПвлеМОО ÑПеЎОМеМОÑ; закÑÑÑÑй клÑÑ ÐžÑпПлÑзÑеÑÑÑ ÐŽÐ»Ñ ÑаÑÑОÑÑПвкО ÑППбÑеМОй ÐŸÑ ÐºÐ»ÐžÐµÐœÑа.
СÑÑеÑÑвÑÐµÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÑ ÑПзЎаÑÑ ÑакПй ÑеÑÑОÑОкаÑ, Ме ПбÑаÑаÑÑÑ Ð² ÑеМÑÑ ÑеÑÑОÑОкаÑОО. ÐПЎпОÑÑваÑÑÑÑ ÑакОе ÑеÑÑОÑОкаÑÑ ÑÑОЌ же ÑеÑÑОÑОкаÑПЌ О МазÑваÑÑÑÑ ÑаЌПпПЎпОÑаММÑЌО (self-signed). Ðез пÑПвеÑкО ÑеÑÑОÑОкаÑа какОЌ-ÑП ÐŽÑÑгОЌ ÑпПÑПбПЌ (МапÑОЌеÑ, звПМПк влаЎелÑÑÑ Ðž пÑПвеÑка кПМÑÑПлÑМПй ÑÑÐŒÐŒÑ ÑеÑÑОÑОкаÑа) ÑакПе ОÑпПлÑзПваМОе HTTPS пПЎвеÑжеМП аÑаке пПÑÑеЎМОка.
ÐÑа ÑОÑÑеЌа Ñакже ÐŒÐŸÐ¶ÐµÑ ÐžÑпПлÑзПваÑÑÑÑ ÐŽÐ»Ñ Ð°ÑÑеМÑОÑОкаÑОО клОеМÑа, ÑÑÐŸÐ±Ñ ÐŸÐ±ÐµÑпеÑОÑÑ ÐŽÐŸÑÑÑп к ÑеÑвеÑÑ ÑПлÑкП авÑПÑОзПваММÑÐŒ пПлÑзПваÑелÑÐŒ. ÐÐ»Ñ ÑÑПгП аЎЌОМОÑÑÑаÑÐŸÑ ÐŸÐ±ÑÑМП ÑÐŸÐ·ÐŽÐ°ÐµÑ ÑеÑÑОÑОкаÑÑ ÐŽÐ»Ñ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ пПлÑзПваÑÐµÐ»Ñ Ðž загÑÑÐ¶Ð°ÐµÑ ÐžÑ
в бÑаÑÐ·ÐµÑ ÐºÐ°Ð¶ÐŽÐŸÐ³ÐŸ пПлÑзПваÑелÑ. Также бÑÐŽÑÑ Ð¿ÑОМОЌаÑÑÑÑ Ð²Ñе ÑеÑÑОÑОкаÑÑ, пПЎпОÑаММÑе ПÑгаМОзаÑОÑЌО, кПÑПÑÑÐŒ ЎПвеÑÑÐµÑ ÑеÑвеÑ. ТакПй ÑеÑÑОÑÐžÐºÐ°Ñ ÐŸÐ±ÑÑМП ÑПЎеÑÐ¶ÐžÑ ÐžÐŒÑ Ðž аЎÑÐµÑ ÑлекÑÑПММПй пПÑÑÑ Ð°Ð²ÑПÑОзПваММПгП пПлÑзПваÑелÑ, кПÑПÑÑе пÑПвеÑÑÑÑÑÑ Ð¿ÑО кажЎПЌ ÑПеЎОМеМОО, ÑÑÐŸÐ±Ñ Ð¿ÑПвеÑОÑÑ Ð»ÐžÑМПÑÑÑ Ð¿ÐŸÐ»ÑзПваÑÐµÐ»Ñ Ð±ÐµÐ· ввПЎа паÑПлÑ.
Ð HTTPS ÐŽÐ»Ñ ÑОÑÑÐŸÐ²Ð°ÐœÐžÑ ÐžÑпПлÑзÑеÑÑÑ ÐŽÐ»ÐžÐœÐ° клÑÑа 40, 56, 128 ОлО 256 бОÑ. ÐекПÑПÑÑе ÑÑаÑÑе веÑÑОО бÑаÑзеÑПв ОÑпПлÑзÑÑÑ ÐŽÐ»ÐžÐœÑ ÐºÐ»ÑÑа 40 Ð±ÐžÑ (пÑÐžÐŒÐµÑ ÑÐŸÐŒÑ - IE веÑÑОй ЎП 4.0), ÑÑП ÑвÑзаМП Ñ ÑкÑпПÑÑМÑЌО ПгÑаМОÑеМОÑЌО в СКÐ. ÐлОМа клÑÑа 40 Ð±ÐžÑ ÐœÐµ ÑвлÑеÑÑÑ ÐœÐ°ÐŽÐµÐ¶ÐœÐŸÐ¹. ÐМПгОе ÑПвÑеЌеММÑе ÑайÑÑ ÑÑебÑÑÑ ÐžÑпПлÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÐœÐŸÐ²ÑÑ
веÑÑОй бÑаÑзеÑПв, пПЎЎеÑжОваÑÑОÑ
ÑОÑÑПваМОе Ñ ÐŽÐ»ÐžÐœÐŸÐ¹ клÑÑа 128 бОÑ, Ñ ÑелÑÑ ÐŸÐ±ÐµÑпеÑОÑÑ ÐŽÐŸÑÑаÑПÑМÑй ÑÑÐŸÐ²ÐµÐœÑ Ð±ÐµÐ·ÐŸÐ¿Ð°ÑМПÑÑО. КОÑÑПваМОе Ñ ÐŽÐ»ÐžÐœÐŸÐ¹ клÑÑа 128 Ð±ÐžÑ Ð·ÐœÐ°ÑОÑелÑМП заÑÑÑЎМÑÐµÑ Ð¿ÐŸÐŽÐ±ÐŸÑ Ð¿Ð°ÑПлей О ЎПÑÑÑп к лОÑМПй ОМÑПÑЌаÑОО.
ТÑаЎОÑОПММП Ма ПЎМПЌ IP-аЎÑеÑе ÐŒÐŸÐ¶ÐµÑ ÑабПÑаÑÑ ÑПлÑкП ПЎОМ HTTPS-ÑайÑ. ÐÐ»Ñ ÑабПÑÑ ÐœÐµÑкПлÑкОÑ
HTTPS-ÑайÑПв Ñ ÑазлОÑМÑЌО ÑеÑÑОÑОкаÑаЌО пÑОЌеМÑеÑÑÑ ÑаÑÑОÑеМОе TLS пПЎ МазваМОеЌ Server Name Indication (SNI).
ÐЎеМÑОÑОкаÑÐžÑ Ð² HTTPS:
- ÐЎеМÑОÑОкаÑÐžÑ ÑеÑвеÑа: HTTP/TLS запÑПÑÑ Ð³ÐµÐœÐµÑОÑÑÑÑÑÑ Ð¿ÑÑÑÐŒ ÑазÑÐŒÐµÐœÐŸÐ²Ð°ÐœÐžÑ URI, вÑлеЎÑÑвОе ÑегП ÐžÐŒÑ Ñ ÐŸÑÑа ÑÑаМПвОÑÑÑ ÐžÐ·Ð²ÐµÑÑМП клОеМÑÑ. РМаÑале ПбÑеМОÑ, ÑеÑÐ²ÐµÑ Ð¿ÐŸÑÑÐ»Ð°ÐµÑ ÐºÐ»ÐžÐµÐœÑÑ ÑвПй ÑеÑÑОÑОкаÑ, ÑÑÐŸÐ±Ñ ÐºÐ»ÐžÐµÐœÑ ÐžÐŽÐµÐœÑОÑОÑОÑПвал егП. ÐÑП пПзвПлÑÐµÑ Ð¿ÑеЎПÑвÑаÑОÑÑ Ð°ÑÐ°ÐºÑ Ð¿ÐŸÑÑеЎМОка. Ð ÑеÑÑОÑОкаÑе ÑказÑваеÑÑÑ URI ÑеÑвеÑа. СПглаÑПваМОе ОЌеМО Ñ ÐŸÑÑа О ЎаММÑÑ , ÑказаММÑÑ Ð² ÑеÑÑОÑОкаÑе, пÑПОÑÑ ÐŸÐŽÐžÑ Ð² ÑППÑвеÑÑÑвОО Ñ Ð¿ÑПÑПкПлПЌ RFC2459. ÐÑлО ÐžÐŒÑ ÑеÑвеÑа Ме ÑÐŸÐ²Ð¿Ð°ÐŽÐ°ÐµÑ Ñ ÑказаММÑÐŒ в ÑеÑÑОÑОкаÑе, ÑП пПлÑзПваÑелÑÑкОе пÑПгÑаЌЌÑ, МапÑÐžÐŒÐµÑ Ð±ÑаÑзеÑÑ, ÑППбÑаÑÑ ÐŸÐ± ÑÑПЌ пПлÑзПваÑелÑ. РПÑМПвМПЌ, бÑаÑзеÑÑ Ð¿ÑеЎПÑÑавлÑÑÑ Ð¿ÐŸÐ»ÑзПваÑÐµÐ»Ñ Ð²ÑбПÑ: пÑПЎПлжОÑÑ ÐœÐµÐ·Ð°ÑОÑÑММПе ÑПеЎОМеМОе ОлО пÑеÑваÑÑ ÐµÐ³ÐŸ.
- ÐЎеМÑОÑОкаÑÐžÑ ÐºÐ»ÐžÐµÐœÑа: ÐбÑÑМП ÑеÑÐ²ÐµÑ ÐœÐµ ÑаÑÐ¿ÐŸÐ»Ð°Ð³Ð°ÐµÑ ÐžÐœÑПÑЌаÑОей П клОеМÑе, ЎПÑÑаÑПÑМПй ÐŽÐ»Ñ ÐµÐ³ÐŸ ОЎеМÑОÑОкаÑОО. ÐЎМакП ÐŽÐ»Ñ ÐŸÐ±ÐµÑпеÑÐµÐœÐžÑ Ð¿ÐŸÐ²ÑÑеММПй заÑОÑеММПÑÑО ÑÐŸÐµÐŽÐžÐœÐµÐœÐžÑ ÐžÑпПлÑзÑеÑÑÑ Ñак МазÑÐ²Ð°ÐµÐŒÐ°Ñ two-way authentication. ÐÑО ÑÑПЌ ÑеÑÐ²ÐµÑ Ð¿ÐŸÑле пПЎÑвеÑÐ¶ÐŽÐµÐœÐžÑ ÐµÐ³ÐŸ ÑеÑÑОÑОкаÑа клОеМÑПЌ Ñакже запÑаÑО Ð²Ð°ÐµÑ ÑеÑÑОÑОкаÑ. ТакОЌ ПбÑазПЌ, ÑÑ ÐµÐŒÐ° пПЎÑвеÑÐ¶ÐŽÐµÐœÐžÑ ÐºÐ»ÐžÐµÐœÑа аМалПгОÑМа ОЎеМÑОÑОкаÑОО ÑеÑвеÑа.
ÐÑÑПÑМОкО:
ÐПп. ЌаÑеÑОал: