ఇంటర్నెట్ ప్రోటోకాల్స్ మరియు ఆర్కిటెక్చర్ అభివృద్ధికి బాధ్యత వహించే IETF (ఇంటర్నెట్ ఇంజనీరింగ్ టాస్క్ ఫోర్స్), HTTP/3.0 ప్రోటోకాల్ కోసం RFC ఏర్పాటును పూర్తి చేసింది మరియు RFC 9114 (ప్రోటోకాల్) మరియు RFC 9204 (ప్రోటోకాల్) ఐడెంటిఫైయర్ల క్రింద సంబంధిత స్పెసిఫికేషన్లను ప్రచురించింది. HTTP/3 కోసం QPACK హెడర్ కంప్రెషన్ టెక్నాలజీ) . HTTP/3.0 స్పెసిఫికేషన్ "ప్రతిపాదిత ప్రమాణం" యొక్క స్థితిని పొందింది, ఆ తర్వాత RFCకి డ్రాఫ్ట్ స్టాండర్డ్ (డ్రాఫ్ట్ స్టాండర్డ్) హోదాను అందించడానికి పని ప్రారంభమవుతుంది, దీని అర్థం వాస్తవానికి ప్రోటోకాల్ యొక్క పూర్తి స్థిరీకరణ మరియు అన్నింటినీ పరిగణనలోకి తీసుకుంటుంది. చేసిన వ్యాఖ్యలు. అదే సమయంలో, HTTP/1.1 (RFC 9112) మరియు HTTP/2.0 (RFC 9113) ప్రోటోకాల్ల కోసం స్పెసిఫికేషన్ల యొక్క నవీకరించబడిన సంస్కరణలు ప్రచురించబడ్డాయి, అలాగే HTTP అభ్యర్థనలు (RFC 9110) మరియు HTTP కాషింగ్ కంట్రోల్ హెడర్ల సెమాంటిక్స్ను నిర్వచించే పత్రాలు ప్రచురించబడ్డాయి. (RFC 9111).
HTTP/3 ప్రోటోకాల్ QUIC (త్వరిత UDP ఇంటర్నెట్ కనెక్షన్లు) ప్రోటోకాల్ను HTTP/2 కోసం రవాణాగా నిర్వచిస్తుంది. QUIC అనేది UDP ప్రోటోకాల్ యొక్క పొడిగింపు, ఇది బహుళ కనెక్షన్ల మల్టీప్లెక్సింగ్కు మద్దతు ఇస్తుంది మరియు TLS/SSLకి సమానమైన ఎన్క్రిప్షన్ పద్ధతులను అందిస్తుంది. వెబ్ కోసం TCP+TLS కలయికకు ప్రత్యామ్నాయంగా Google ద్వారా 2013లో ప్రోటోకాల్ రూపొందించబడింది, TCPలో సుదీర్ఘ కనెక్షన్ సెటప్ మరియు చర్చల సమయాలతో సమస్యలను పరిష్కరిస్తుంది మరియు డేటా బదిలీ సమయంలో ప్యాకెట్లు పోయినప్పుడు ఆలస్యాన్ని తొలగిస్తుంది.
ప్రస్తుతం, QUIC మరియు HTTP/3.0 మద్దతు ఇప్పటికే అన్ని ప్రముఖ వెబ్ బ్రౌజర్లలో అమలు చేయబడింది (Chrome, Firefox మరియు Edgeలో, HTTP/3 మద్దతు డిఫాల్ట్గా ప్రారంభించబడింది మరియు Safariలో దీనికి “అధునాతన > ప్రయోగాత్మక లక్షణాలు > HTTP/3” సెట్టింగ్ అవసరం ప్రారంభించబడాలి). సర్వర్ వైపు, nginx (ప్రత్యేక శాఖలో మరియు ప్రత్యేక మాడ్యూల్ రూపంలో), Caddy, IIS మరియు LiteSpeed కోసం HTTP/3 అమలులు అందుబాటులో ఉన్నాయి. క్లౌడ్ఫ్లేర్ కంటెంట్ డెలివరీ నెట్వర్క్ ద్వారా HTTP/3 మద్దతు కూడా అందించబడుతుంది.
QUIC యొక్క ముఖ్య లక్షణాలు:
- TLS మాదిరిగానే అధిక భద్రత (ముఖ్యంగా QUIC UDP ద్వారా TLSని ఉపయోగించగల సామర్థ్యాన్ని అందిస్తుంది);
- ప్రవాహ సమగ్రత నియంత్రణ, ప్యాకెట్ నష్టాన్ని నివారించడం;
- తక్షణమే కనెక్షన్ని ఏర్పాటు చేయగల సామర్థ్యం (0-RTT, దాదాపు 75% కేసులలో కనెక్షన్ సెటప్ ప్యాకెట్ని పంపిన వెంటనే డేటాను ప్రసారం చేయవచ్చు) మరియు అభ్యర్థనను పంపడం మరియు ప్రతిస్పందనను స్వీకరించడం (RTT, రౌండ్ ట్రిప్ సమయం) మధ్య కనీస ఆలస్యాన్ని అందించడం;
- ప్యాకెట్ను తిరిగి ప్రసారం చేసేటప్పుడు వేరే క్రమ సంఖ్యను ఉపయోగించడం, ఇది అందుకున్న ప్యాకెట్లను గుర్తించడంలో అస్పష్టతను నివారిస్తుంది మరియు గడువు ముగిసే సమయాలను తొలగిస్తుంది;
- ప్యాకెట్ యొక్క నష్టం దానితో అనుబంధించబడిన స్ట్రీమ్ యొక్క డెలివరీని మాత్రమే ప్రభావితం చేస్తుంది మరియు ప్రస్తుత కనెక్షన్ ద్వారా ప్రసారం చేయబడిన సమాంతర స్ట్రీమ్లలో డేటా డెలివరీని ఆపదు;
- కోల్పోయిన ప్యాకెట్ల పునఃప్రసారం కారణంగా ఆలస్యాన్ని తగ్గించే ఎర్రర్ దిద్దుబాటు లక్షణాలు. పోగొట్టుకున్న ప్యాకెట్ డేటా యొక్క పునఃప్రసారం అవసరమయ్యే పరిస్థితులను తగ్గించడానికి ప్యాకెట్ స్థాయిలో ప్రత్యేక ఎర్రర్ కరెక్షన్ కోడ్లను ఉపయోగించడం.
- క్రిప్టోగ్రాఫిక్ బ్లాక్ సరిహద్దులు QUIC ప్యాకెట్ సరిహద్దులతో సమలేఖనం చేయబడ్డాయి, ఇది తదుపరి ప్యాకెట్ల కంటెంట్లను డీకోడింగ్ చేయడంపై ప్యాకెట్ నష్టాల ప్రభావాన్ని తగ్గిస్తుంది;
- TCP క్యూ నిరోధించడంలో సమస్యలు లేవు;
- కనెక్షన్ ఐడెంటిఫైయర్కు మద్దతు, ఇది మొబైల్ క్లయింట్ల కోసం రీకనెక్షన్ని ఏర్పాటు చేయడానికి పట్టే సమయాన్ని తగ్గిస్తుంది;
- అధునాతన కనెక్షన్ రద్దీ నియంత్రణ విధానాలను కనెక్ట్ చేసే అవకాశం;
- ప్యాకెట్లు సరైన ధరల వద్ద పంపబడుతున్నాయని నిర్ధారించడానికి ప్రతి-దిశ నిర్గమాంశ అంచనా పద్ధతులను ఉపయోగిస్తుంది, అవి రద్దీగా మారకుండా మరియు ప్యాకెట్ నష్టాన్ని కలిగించకుండా చేస్తుంది;
- TCPతో పోలిస్తే పనితీరు మరియు నిర్గమాంశలో గణనీయమైన పెరుగుదల. YouTube వంటి వీడియో సేవల కోసం, QUIC వీడియోలను చూసేటప్పుడు రీబఫరింగ్ కార్యకలాపాలను 30% తగ్గించినట్లు చూపబడింది.
HTTP/1.1 స్పెసిఫికేషన్లోని మార్పులలో, కంటెంట్తో బాడీ వెలుపల క్యారేజ్ రిటర్న్ (CR) క్యారెక్టర్ని వివిక్తంగా ఉపయోగించడంపై నిషేధాన్ని గమనించవచ్చు, అనగా. ప్రోటోకాల్ మూలకాలలో, CR అక్షరాన్ని లైన్ ఫీడ్ క్యారెక్టర్ (CRLF)తో కలిపి మాత్రమే ఉపయోగించవచ్చు. జోడించిన ఫీల్డ్లు మరియు విభాగాల విభజనను హెడర్లతో సరళీకృతం చేయడానికి భాగం చేసిన అభ్యర్థన లేఅవుట్ అల్గోరిథం మెరుగుపరచబడింది. "HTTP అభ్యర్థన స్మగ్లింగ్" దాడులను నిరోధించడానికి అస్పష్టమైన కంటెంట్ను నిర్వహించడానికి సిఫార్సులు జోడించబడ్డాయి, ఇది ఫ్రంటెండ్ మరియు బ్యాకెండ్ మధ్య ప్రవాహంలో ఇతర వినియోగదారుల అభ్యర్థనల కంటెంట్తో మనల్ని మనం విడదీయడానికి అనుమతిస్తుంది.
HTTP/2.0 స్పెసిఫికేషన్ అప్డేట్ TLS 1.3కి మద్దతును స్పష్టంగా నిర్వచిస్తుంది. ప్రాధాన్యతా పథకం మరియు అనుబంధిత హెడర్ ఫీల్డ్లు తీసివేయబడ్డాయి. HTTP/1.1తో కనెక్షన్ని అప్డేట్ చేయడానికి ఉపయోగించని మెకానిజం వాడుకలో లేనిదిగా ప్రకటించబడింది. ఫీల్డ్ పేర్లు మరియు విలువలను తనిఖీ చేయడానికి తగ్గిన అవసరాలు. కొన్ని మునుపు రిజర్వు చేయబడిన ఫ్రేమ్ రకాలు మరియు పారామితులు ఉపయోగం కోసం ప్రతిపాదించబడ్డాయి. కనెక్షన్కి సంబంధించిన నిషేధిత హెడర్ ఫీల్డ్లు మరింత ఖచ్చితంగా నిర్వచించబడ్డాయి.
మూలం: opennet.ru