Аппараттық және бағдарламалық қамтамасыз етуді орнату

Веб-протоколдар. Веб-клиент-сервер технологияларына кіріспе

Біз «Content Marketing in әлеуметтік желілерде: Қалай жазылушылардың басына кіріп, брендіңізге ғашық болуға болады.

Веб-сервис (сервис) – сайттар арасындағы өзара әрекетті ұйымдастыратын бағдарлама. Бір порталдағы ақпарат екінші порталға беріледі.

Мысалы, әуе компаниясы бар. Оның рейсі көп, сәйкесінше билеттері де көп. Ол ақпаратты веб-қызмет арқылы саяхат агрегаторының сайтына жібереді. Агрегаторға кірген пайдаланушы осы әуе компаниясына билеттерді сол жерден сатып ала алады.

Веб-қызметтердің тағы бір мысалы - белгілі бір қаладағы немесе жалпы елдегі ауа райы жағдайлары туралы ақпаратты қамтитын ауа райын бақылау сайты. Бұл ақпаратүшінші тұлғалар да жиі пайдаланады.

Интернеттегі ақпарат алуан түрлі. Веб-сайттар әртүрлі жүйелермен басқарылады. әртүрлі жіберу және шифрлау протоколдары қолданылады. Веб-қызметтері әртүрлі сайттар арасында ақпарат алмасуды жеңілдетеді.

Веб-қызметтердің архитектурасы және хаттамалары

Бір-бірімен әрекеттесетін 3 дананы анықтауға болады: каталог, мердігер және тұтынушы. Қызметті жасағаннан кейін мердігер оны каталогқа тіркейді, сол жерде тұтынушы қызметті табады.

Деректер алмасу механизмі Веб-қызмет сипаттамасының сипаттамасында қалыптасады. Бұл тұтынушы мен қызмет көрсетуші тасымалдаушы арасында ақпарат алмасуда қолданылатын көлік пішімдерін, мазмұн түрлерін, тасымалдау протоколдарын қамтитын спецификация.

Бүгінгі таңда әртүрлі веб-қызметтерді жүзеге асыру үшін бірнеше технологиялар жиі қолданылады:

  1. TCP/IP – кез келген адамға дерлік түсінікті протокол желілік жабдық, негізгі фреймдерден бастап портативті құрылғыларжәне PDA.
  2. HTML - тұтынушы құрылғыларында мазмұнды көрсету үшін пайдаланылатын жалпы мақсаттағы белгілеу тілі.
  3. XML деректердің барлық түрлерін өңдеуге арналған әмбебап құрал болып табылады. Оның негізінде басқа ақпарат алмасу протоколдары жұмыс істей алады: SOAP және WSDL.
  4. UDDI танудың, біріктірудің және сипаттаудың әмбебап көзі болып табылады. Әдетте, жеке желілерде жұмыс істейді және әлі жеткілікті таратуды таппаған.

Ұсынылған технологиялардың әмбебаптығы веб-қызметтерді түсінудің негізі болып табылады. Олар үшін жұмыс істейді стандартты технологияларқолданба провайдерлерінен және басқа желі ресурстарынан тәуелсіз. Кез келген жағдайда қолдануға болады операциялық жүйелер, қолданбалы серверлер, бағдарламалау тілдері және т.б.

Артықшылықтары

  • Жасау қажетті жағдайларплатформаға қарамастан бағдарламалық қамтамасыз ету компоненттерінің өзара әрекеттесуі үшін.
  • Web-қызметтері ашық стандартты хаттамаларға негізделген. XML-дің енгізілуіне байланысты веб-қызметтерді қалыптастыру мен конфигурациялаудың қарапайымдылығы қамтамасыз етілген.
  • HTTP пайдалану желіге кіру арқылы жүйелердің өзара әрекеттесуіне кепілдік береді.

Кемшіліктер

  • RMI, CORBA, DCOM жүйелерімен салыстырғанда төмен өнімділік және жоғары трафик көлемі, мәтін контекстінде XML-хабарламаларды пайдалану есебінен.
  • Қауіпсіздік деңгейі. Барлық заманауи веб-қызметтер кодтауды жүзеге асыруы және пайдаланушы авторизациясын талап етуі керек. Мұнда HTTPS жеткілікті ме, әлде XML шифрлау, SAML және т.б. сияқты сенімдірек протоколдар қажет пе - бұл әзірлеу мәселесі.

Веб-қызметтердің тапсырмалары

Веб-қызметтерді көптеген салаларда пайдалануға болады.

B2B транзакциялары

Процестер адамдардың қатысуынсыз бірден біріктіріледі. Мысалы, интернет-дүкен каталогын жаңа өнімдермен толықтыру. Олар қоймаға әкелінеді, қоймашы келгенін мәліметтер базасына түсіреді. Ақпарат автоматты түрде интернет-дүкенге жіберіледі. Ал сатып алушы тауар картасында «Таусылды» деген белгінің орнына оның санын көреді.

Кәсіпорын қызметтерінің интеграциясы

Егер компания корпоративтік бағдарламаларды пайдаланса, онда веб-сервис олардың ынтымақтастығын орнатуға көмектеседі.

Клиент-сервер жүйесін құру

Қызметтер клиент пен сервердің жұмысын реттеу үшін пайдаланылады. Бұл келесі артықшылықтарды береді:

  • сіз бағдарламалық жасақтаманың өзін емес, веб-сервиске кіру үшін төлей аласыз;
  • үшінші тарап бағдарламалық құралын пайдалану арқылы мәселелерді шешу оңайырақ;
  • сервердегі мазмұн мен материалдарға қолжетімділікті ұйымдастыру оңайырақ.

Веб-қызмет - бұл оны жеңілдететін қолданба техникалық баптауресурстардың өзара әрекеттесуі.

Клиент қызметке белгілі бір портта қосылғаннан кейін ол белгіленген протоколды пайдаланып қызметке қол жеткізе алады. Хаттама – бұл қызметті пайдаланғысы келетін тарап пен қызметті ұсынатын тарап арасындағы ақпарат алмасудың алдын ала әзірленген тәртібі. Қызметті қажет ететін «тарап» адам болуы мүмкін, бірақ көбінесе бұл компьютерлік бағдарлама, Мысалға, WEB браузері... Протоколдар көбінесе клиент пен сервер арасындағы ақпарат алмасу процедурасының мәтіндік сипаттамасы болып табылады.

UNIX

Күндізгі қызмет көрсетуге арналған ең қарапайым хаттама болуы мүмкін. Күндізгі серверді қолдайтын құрылғының 13 портына қосылсаңыз, сол сервер ағымдағы күн мен уақытпен жауап береді, содан кейін қосылымды ажыратады. Протокол келесідей көрінеді: «Егер клиент күндізгі сервермен қосылым орнатса, оған күн мен уақыт деректері жіберіледі, содан кейін қосылым ажыратылады». UNIX машиналарының көпшілігі осы серверді қолдайды. Сіз онымен Telnet қолданбасы арқылы хабарласа аласыз. UNIX жүйесінде сеанс келесідей болады:

  • % telnet web67.ntx.net 13
  • web67.ntx.net желісіне қосылу.
  • «^]» бас тарту таңбасы.
  • жексенбі 25 қазан 08:34:06 1998 ж

Windows

Windows құрылғысында MSDOS терезесіне "telnet web67.ntx.net 13" енгізу арқылы осы серверге кіруге болады.

Бұл мысалда web67.ntx.net — UNIX серверлік құрылғысы және 13 — күндізгі қызметке арналған порт нөмірі. Telnet қолданбасы 13 портқа қосылады (telnet әдетте 23 портқа қосылады, бірақ қосылу үшін кез келген басқа портты көрсетуге болады), содан кейін сервер күн мен уақыт деректерін жібереді, содан кейін қосылымды тоқтатады. Telnet нұсқасының көпшілігінде порт нөмірін көрсету мүмкіндігі бар және бұл мүмкіндікті құрылғыда Telnet нұсқасының қай нұсқасы орнатылғанына қарамастан пайдалануға болады.

Хаттамалардың көпшілігі күндізгі хаттамаға қарағанда күрделірек және жалпыға қолжетімді Түсініктеме сұрауында (RFC) анықталған (барлық RFC жақсы мұрағаты үшін sunsite.auc.dk/RFC/ қараңыз). Әрбір WEB серверіИнтернетте 1991 жылы The Original HTTP құрастырылған HTTP протоколының талаптарына сәйкес келеді. HTTP сервері қабылдайтын протоколдың ең маңызды нысаны тек бір пәрменді қамтиды: GET. HTTP протоколы арқылы жұмыс істейтін сервермен байланыс орнатсаңыз және "GET файл атауы" сұрауын жіберсеңіз, сервер дереккөзге мазмұн сұрауын жіберу арқылы жауап береді. көрсетілген файлсодан кейін қосылымды ажыратыңыз. Әдеттегі сессия келесідей көрінеді:

  • % telnet сайты 80
  • 78.110.59.235 желісіне қосылу әрекеті ...
  • pcwork.ru сайтымен байланыс.
  • «^]» бас тарту таңбасы.
  • Қосылым сыртқы негізгі компьютер арқылы ажыратылды.

HTTP протоколының бастапқы нұсқасында тек жарамды файл атауын жіберу керек болды, мысалы, [/] немесе Толық URL мекенжайларын өңдеу мүмкіндігі үшін протокол кейінірек өзгертілді. Бұл көптеген домендер бір құрылғыда орналастырылған ортада виртуалды домендермен айналысатын компанияларға осындай барлық домендер үшін бір IP мекенжайын пайдалануға мүмкіндік берді.

Қорытындылау

Осы мақаланы оқығаннан кейін сіз көп нәрсені білдіңіз. Атап айтқанда, сіз енді браузерде URL мекенжайын енгізген кезде келесілер болатынын білесіз:

  1. URL мекенжайын үш бөлікке бөліңіз:
  • Протокол («http»)
  • Сервер атауы («сайт») – соңғы уақытта www
  • Файл атауы («web server.htm»)
  • Браузер сервер атауын IP мекенжайына аудару үшін атау серверімен байланысады, оны сол шолғыш сәйкес сервер құрылғысына қосылу үшін пайдаланады.
  • IP мекенжайын алғаннан кейін көрсетілген шолғыш 80 портында осы IP мекенжайы бар WEB серверімен байланыс орнатады.
  • HTTP протоколына сәйкес, браузер файлды алу үшін осы серверге GET сұрауын жібереді (cookie файлдарын браузерден серверге GET сұрауымен бірге жіберуге болатынын ескеріңіз - толық ақпаратты cookie файлдарының жұмыс істеуі туралы мақаланы қараңыз).
  • Сервер жібереді HTML мәтінісұралған WEB бетін шолғышқа жіберіңіз. (Сондай-ақ cookie файлдарын серверден браузерге бет тақырыбында жіберуге болады).
  • Браузер HTML тегтерін оқиды және монитор экранында сәйкес бетті көрсетеді.
  • Қосымша: Қауіпсіздік

    Осы сипаттамадан WEB сервері өте қарапайым бағдарлама болуы мүмкін деген қорытынды жасауға болады. Ол GET пәрменімен жіберілген файл атын алып, өзі іздеген файлды тауып, браузерге жібереді. Тіпті барлық портты басқару және порт байланысы кодтары болса да, 500-ден аз жолдарда қарапайым WEB сервері ретінде әрекет ететін C бағдарламасын оңай жасауға болады. бағдарлама коды... Әрине, толық жұмыс істейтін корпоративтік WEB-сервер күрделірек, бірақ оның жұмыс істеуінің негізгі принциптері әлі де өте қарапайым.

    Көптеген серверлер жұмыс процесіне қауіпсіздіктің кейбір деңгейін қосады. Бұл үшін, мысалы, парольмен қорғалған беттер пайдаланылады. Браузер арқылы мұндай бетті ашу әрекеті жасалғанда, пайдаланушы аты мен құпия сөзді сұрайтын диалогтық терезе көрсетіледі. Сервер WEB бетінің иесіне осы бетке кіруге рұқсат етілген адамдардың аттары мен құпия сөздерінің тізімін пайдалану мүмкіндігін береді; бұл жағдайда сервер парақты сәйкес құпия сөзі бар адамдарға ғана қарауға мүмкіндік береді. Жетілдірілген серверлер бар қосымша функцияларқауіпсіздік, сервер мен шолғыш арасында алмасатын ақпаратты шифрлауға мүмкіндік береді, бұл құпия ақпаратты Интернет арқылы жіберуге мүмкіндік береді, мысалы, несие картасының нөмірлері.

    Бұл стандартты, статикалық WEB беттерін жіберген кезде сервер орындай алатын іс жүзінде барлық функциялар. Веб-беттерді әзірлеуші ​​өңдемейінше өзгермейтін статикалық деп атайды.

    Қосымша: динамикалық беттер

    Динамикалық WEB беттері туралы не деуге болады? Мысалы:

    • Кез келген қонақ кітапшасында HTML пішімінде хабарлама қалдыруға рұқсат етіледі, оны келесі рет қараған кезде жаңа енгізілген ақпарат осы бетте сақталады.
    • Network Solutions бағдарламасының whois экран пішінінде домендік атауды енгізуге жауап ретінде WEB беті алынады, оның көрінісі енгізілген атқа байланысты болады.
    • Кез келген іздеу жүйесінде HTML пішініенгізілді түйінді сөздер, содан кейін құрылғы осы сөздер үшін іздеу нәтижесін көрсететін бетті жасайды.

    Осы жағдайлардың барлығында WEB сервері жай ғана іздемейді қалаған файл... Ол алынған ақпаратты өңдейді және жасайды Веб парақ, алынған сұранысқа сәйкес белгілі бір жолмен. Барлық жағдайларда дерлік бұл мәселені шешу үшін WEB сервері CGI деп аталатын процедураны пайдаланады.

    Әрбір серверлік құрылғы нөмірленген порттарды пайдаланып Интернеттен қызметтерге қол жеткізуге мүмкіндік береді, сервердегі әрбір қызмет үшін бір. Мысалы, егер серверлік машинада WEB сервері және FTP сервері болса, әдетте WEB серверіне кіру 80 порт арқылы жүзеге асырылады және FTP сервері- 21 порт арқылы. Клиенттер сервиске сәйкес адресті таңдап, сәйкес портқа қосылу арқылы қосылады.

    Әрбір танымал қызметте сәйкес келеді нақты санпорт. Төменде ең жиі қолданылатын порт нөмірлері берілген:

    • жаңғырық 7
    • күндізгі 13
    • qotd 17 (күннің дәйексөзі)
    • ftp 21
    • telnet 23
    • smtp 25 (электрондық пошта)
    • уақыт 37
    • атау сервері 53 (атау сервері)
    • лақап аты 43 (кім кім)
    • гофер 70
    • саусақ 79
    • WWW 80

    Шектеулер

    Егер серверлік машина интернеттен портқа қосылуға рұқсат берсе және бұл порт қорғалмаған болса, оған Интернеттің кез келген жерінен қосылып, сәйкес қызметті пайдалануға болады. Айта кету керек, WEB-серверді 80 порт арқылы қосуды белгілейтін ешқандай шектеулер жоқ. Жеке машинаңызды іске қосқанда және оған WEB сервер бағдарламалық құралын орнатқанда, егер қаласаңыз, мынаны көрсете аласыз: WEB сервер, мысалы, 918 портында немесе кез келген басқа бос портта жұмыс істейді. Содан кейін, егер құрылғы xxx.yyy.com деп аталса, xxx.yyy.com:918 URL мекенжайын пайдаланып интернет арқылы сол серверге қосылуға болады. ": 918" бөлігі порт нөмірін анық көрсетеді және оны осы серверге хабарласқысы келетін кез келген адам қосуы керек. Ешбір порт көрсетілмесе, браузер әдепкі бойынша жалпы қабылданған 80 портқа қосылуға тырысады.

    HTTP. Ол өзара әрекеттестікке негізделген» клиент-сервер", яғни, бұл болжанады:
    1. Тұтынушы- тұтынушысервер провайдерімен қосылымды бастағаннан кейін ол оған сұрау жібереді;
    2. Жеткізуші- серверСұранысты алғаннан кейін ол қажетті әрекеттерді орындайды және нәтижесімен жауапты клиентке қайтарады.

      Бұл жағдайда клиенттік компьютердің жұмысын ұйымдастырудың екі мүмкін жолы бар:

      • Жұқа клиентбарлық ақпаратты өңдеу тапсырмаларын серверге тасымалдайтын клиенттік компьютер болып табылады. Мысал жұқа клиентвеб-қосымшалармен жұмыс істеу үшін пайдаланылатын браузері бар компьютер ретінде қызмет ете алады.
      • Майлы клиенткерісінше, ол ақпаратты серверден тәуелсіз өңдейді, соңғысын негізінен деректерді сақтау үшін пайдаланады.

    Белгілі бір клиент/сервер веб-технологияларына көшпес бұрын, HTTP протоколының негізгі негіздері мен құрылымын қарастырайық.

    HTTP протоколы

    HTTP (HyperText Transfer Protocol - RFC 1945, RFC 2616) гипермәтінді тасымалдауға арналған қолданбалы деңгей протоколы болып табылады.

    HTTP үшін орталық ресурсклиент сұрауындағы URL мекенжайы арқылы көрсетілген. Әдетте бұл ресурстар серверде сақталған файлдар болып табылады. HTTP протоколының ерекшелігі сұрауда және жауапта бір ресурсты әртүрлі параметрлер бойынша көрсету тәсілін көрсету мүмкіндігі болып табылады: пішім, кодтау, тіл және т.б. Бұл хабарламаны кодтау әдісін көрсету мүмкіндігінің арқасында. клиент пен сервер екілік деректерді алмастыра алады, дегенмен бұл протокол бастапқыда символдық ақпаратты тасымалдауға арналған. Бір қарағанда, бұл ресурстарды ысырап ету сияқты көрінуі мүмкін. Шынында да, символдық түрдегі деректер жадты көбірек алады, хабарламалар байланыс арналарына қосымша жүктеме жасайды, бірақ бұл форматтың көптеген артықшылықтары бар. Желі арқылы жіберілген хабарламалар оқылады және алынған мәліметтерді талдағаннан кейін, жүйелік администратор қатені оңай тауып, оны түзете алады. Қажет болса, өзара әрекеттесетін қолданбалардың бірінің рөлін қажетті форматта хабарламаларды қолмен енгізетін адам орындай алады.

    Көптеген басқа протоколдардан айырмашылығы, HTTP жадысыз протокол болып табылады. Бұл протокол клиенттің алдыңғы сұраулары мен сервер жауаптары туралы ақпаратты сақтамайтынын білдіреді. HTTP қолданатын құрамдас бөліктер ең соңғы сұраулар мен жауаптармен байланысты күй ақпаратын дербес сақтай алады. Мысалы, клиент веб-қосымшасұраушы жауаптың кешігуін бақылай алады, ал веб-сервер соңғы клиенттердің IP мекенжайлары мен сұрау тақырыптарын сақтай алады.

    Барлығы бағдарламалық қамтамасыз ету HTTP протоколымен жұмыс істеу үш негізгі категорияға бөлінеді:

    • Серверлер- ақпаратты сақтау және өңдеу (сұраныстарды өңдеу) бойынша қызметтерді жеткізушілер.
    • Клиенттер- серверлік қызметтердің соңғы тұтынушылары (сұраныстарды жіберу).
    • Прокси-серверлеркөлік қызметінің жұмысын қолдау.

    Негізгі клиенттер болып табылады браузерлер, мысалы: Интернет Explorer, Opera, Mozilla Firefox, Netscape Навигатор және т.б. Ең танымал веб-серверді жүзеге асырулар: Интернет ақпарат Қызметтер (IIS), Apache, lighttpd, nginx. Прокси-сервердің ең танымал іске асырулары - Squid, UserGate, Multiproxy, Naviscope.

    «Классикалық» HTTP сеанс схемасы келесідей көрінеді.

    1. TCP қосылымын орнату.
    2. Клиент сұрауы.
    3. Сервер жауабы.
    4. Бұзылған TCP қосылымы.

    Осылайша, клиент серверге сұраныс жібереді, одан жауап алады, содан кейін өзара әрекеттесу тоқтатылады. Әдетте, клиент сұрауы HTML құжатын немесе басқа ресурсты жіберуге арналған сұрау болып табылады және сервер жауабында сол ресурстың коды бар.

    Клиент серверге жіберетін HTTP сұрауы келесі құрамдастарды қамтиды.

    • Күй жолағы (кейде оны белгілеу үшін күй жолағы немесе сұрау жолы терминдері де қолданылады).
    • Тақырып өрістері.
    • Бос жол.
    • Сұраныс мәтіні.

    Күй жолағыбірге тақырып өрістерікейде деп те атайды сұрау тақырыбы.


    Күріш. 2.1.

    Күй жолағыкелесі форматқа ие:

    сұрау_әдісі url_pecypca nttp_protocol_version

    Сұрау әдістеріне назар аудара отырып, күй жолының құрамдастарын қарастырайық.

    Әдіс, күй жолағында көрсетілген, URL мекенжайы сол жолда көрсетілген ресурсқа қалай әсер ету керектігін анықтайды. Әдіс GET, POST, HEAD, PUT, DELETE және т.б. мәндерін қабылдай алады. Әдістердің көптігіне қарамастан, олардың екеуі ғана веб-бағдарламашы үшін өте маңызды: GET және POST.

    • АЛУ. Ресми анықтамаға сәйкес, GET әдісі көрсетілген URL мекенжайы бар ресурсты алуға арналған. GET сұрауын алған кезде сервер көрсетілген ресурсты оқып, ресурс идентификаторын клиентке жауап беруі керек. URL мекенжайы сұрау бөлігі ретінде жіберілетін ресурс HTML беті, сурет файлы немесе басқа деректер болуы міндетті емес. Ресурстың URL мекенжайы бағдарламаның орындалатын кодын көрсетуі мүмкін, егер белгілі бір шарттар орындалса, серверде іске қосылуы керек. Бұл жағдайда клиентке қайтарылатын бағдарлама коды емес, оны орындау кезінде жасалған деректер. GET әдісі анықтамасы бойынша ақпаратты алуға арналған болса да, оны басқа мақсаттарда да қолдануға болады. GET әдісі деректердің шағын бөліктерін серверге тасымалдау үшін өте қолайлы.
    • ПОСТ. Сол формальды анықтамаға сәйкес, POST әдісінің негізгі мақсаты деректерді серверге тасымалдау болып табылады. Дегенмен, GET әдісі сияқты, POST әдісі әртүрлі тәсілдермен қолданылуы мүмкін және көбінесе серверден ақпаратты алу үшін қолданылады. GET әдісі сияқты, күй жолағында көрсетілген URL нақты ресурсқа нұсқайды. POST әдісін процесті бастау үшін де пайдалануға болады.
    • HEAD және PUT әдістері GET және POST әдістерінің модификациялары болып табылады.

    Протокол нұсқасы HTTP әдетте келесі пішімде көрсетіледі:

    Http / version.modification

    Тақырып өрістерікүй жолағынан кейін сұрауыңызды нақтылауға мүмкіндік береді, яғни. серверге қосымша ақпаратты жіберіңіз. Тақырып өрісінің келесі пішімі бар:

    Өріс_атауы: Мән

    Өрістің мақсаты оның атауымен анықталады, ол мәннен қос нүкте арқылы бөлінеді.

    Клиенттік сұраныстағы кейбір кең тараған тақырып өрістерінің атаулары және олардың мақсаты 2.1-кестеде көрсетілген.

    2.1-кесте. HTTP сұрауының тақырып өрістері.
    Тақырып өрістері HTTP -сұраныс Мағынасы
    Хост Клиент қатынасатын хосттың домен атауы немесе IP мекенжайы
    Анықтамашы Күй жолағында көрсетілген ресурсқа сілтеме жасайтын құжаттың URL мекенжайы
    бастап Мекенжай Электрондық поштаклиентпен жұмыс істейтін пайдаланушы
    Қабылдау Клиент өңдейтін деректердің MIME түрлері. Бұл өрісте бір-бірінен үтір арқылы бөлінген бірнеше мән болуы мүмкін. Көбінесе «Қабылдау» тақырыбы өрісі серверге қандай түрлерін айту үшін пайдаланылады графикалық файлдартұтынушыларды қолдау
    Қабылдау тілі Клиент қолдайтын тілдерді белгілейтін, үтірмен бөлінген екі таңбалы идентификаторлар жиынтығы
    Қабылдау-Чарсет Қолдау көрсетілетін таңбалар жиындарының тізімі
    Мазмұн түрі Сұрау мәтінінде қамтылған деректердің MIME түрі (егер сұрау бір тақырыптан тұрмаса)
    Content-Length Сұрау мәтініндегі таңбалар саны (егер сұрау бір тақырыптан тұрмаса)
    Ауқым Клиент бүкіл құжатты емес, оның бір бөлігін ғана сұраса, ұсыну
    Байланыс TCP қосылымын басқару үшін қолданылады. Егер өрісте Жабу болса, бұл сұрауды өңдегеннен кейін сервер қосылымды жабу керек дегенді білдіреді. Keep-Alive мәні келесі сұраулар үшін пайдаланылуы үшін TCP қосылымын жаппауды ұсынады.
    Пайдаланушы-агент Клиент туралы ақпарат

    Көптеген жағдайларда Интернетте жұмыс істегенде сұраныстың негізгі бөлігі жоқ. CGI сценарийлері іске қосылғанда, оларға сұрауда жіберілген деректер сұраудың негізгі бөлігіне орналастырылуы мүмкін.

    HTML құжаттары сияқты әртүрлі ресурстарды алуға мүмкіндік береді. HTTP протоколы Интернет байланысының негізі болып табылады. HTTP клиент пен сервер арасындағы байланыс протоколы болып табылады, яғни серверге сұраулар алушының өзі, әдетте веб-шолғыш арқылы басталады. Алынған қорытынды құжат қорытынды құжаттың бөлігі болып табылатын әртүрлі ішкі құжаттардан (мүмкін) тұруы мүмкін: мысалы, бөлек алынған мәтіннен, құжат құрылымының сипаттамасы, суреттер, бейне файлдар, сценарийлер және т.б.

    Клиенттер мен серверлер жеке хабарламалармен алмасу арқылы байланысады (деректер ағындары емес). Клиент, әдетте веб-браузер жіберген хабарламалар шақырылады сұрауларжәне сервер жіберген хабарламалар шақырылады жауаптар.

    HTTP 1990-шы жылдардың басында жасалғанымен, оның кеңеюіне байланысты ол жылдар бойы дамыды. HTTP – хабарламаларды жіберу үшін басқа протоколдың – TCP (немесе TLS – қауіпсіз TCP) мүмкіндіктерін жиі пайдаланатын қолданбалы деңгей протоколы, бірақ мұндай хабарламаларды жеткізу үшін кез келген басқа сенімді тасымалдау протоколы теориялық тұрғыдан пайдаланылуы мүмкін. Кеңейтімділігіне байланысты ол клиент үшін гипермәтіндік құжаттарды, суреттерді және бейнелерді қабылдау үшін ғана емес, сонымен қатар мазмұнды серверлерге тасымалдау үшін, мысалы, HTML пішіндерін пайдалану үшін қолданылады. HTTP сұрау бойынша веб-бетті жаңарту үшін құжаттың тек бөліктерін алу үшін де пайдаланылуы мүмкін (мысалы, AJAX сұрауы арқылы).

    HTTP негізіндегі жүйелердің құрамдас бөліктері

    HTTP – клиент-сервер протоколы, яғни сұрауларды бір тарап – алмасу қатысушысы (пайдаланушы-агент) (немесе оның орнына прокси) жібереді. Көбінесе қатысушы веб-шолғыш болып табылады, бірақ ол кез келген адам болуы мүмкін, мысалы, іздеу жүйелері үшін веб-беттердің индекстеу деректерін толықтыру және жаңарту үшін Интернетті аралайтын робот.

    Әрбір сұраныс (ағыл. сұрау) серверге жіберіледі, ол оны өңдейді және жауап қайтарады (ағыл. жауап). Осы сұраулар мен жауаптардың арасында әдетте әртүрлі операцияларды орындайтын және шлюз немесе кэш ретінде әрекет ететін прокси деп аталатын көптеген делдалдар болады.

    Әдетте, браузер мен сервер арасында сұрауды өңдеуде белгілі бір рөл атқаратын көптеген басқа делдалдық құрылғылар бар: маршрутизаторлар, модемдер және т.б. Желі өзара әрекеттесу деңгейлерінің (қабаттарының) жүйесі негізінде құрылғандықтан, бұл делдалдар желілік және көліктік деңгейлерде «жасырын» болады. Бұл деңгейлік жүйеде HTTP «қолданба» (немесе «қолданба» қабаты) деп аталатын ең жоғарғы қабатты алады. Өкіл, сеанс, көлік, желі, сілтеме және физикалық сияқты желілік деңгейлерді білу маңыздыжелі жұмысын және диагностикасын түсіну үшін мүмкін проблемаларбірақ HTTP сипаттау және түсіну талап етілмейді.

    Клиент: биржаға қатысушы

    Биржа мүшесі (пайдаланушы агенті) пайдаланушы атынан әрекет ететін кез келген құрал немесе құрылғы болып табылады. Бұл тапсырманы ең алдымен веб-шолғыш орындайды; кейбір жағдайларда қатысушылар инженерлер мен веб-әзірлеушілер қолданбаларды жөндеу үшін пайдаланатын бағдарламалар болып табылады.

    Браузер әрқашансұрауды жасайтын нысан болып табылады. Сервер әдетте мұны істемейді, дегенмен желі өмір сүрген жылдар ішінде серверден сұрауларды орындауға мүмкіндік беретін жолдар ойластырылған.

    Веб-бетті көрсету үшін шолғыш сол беттің HTML құжатын алу үшін бастапқы сұрау жібереді. Осыдан кейін браузер осы құжатты тексеріп, сұраныстарды береді қосымша файлдарвеб-беттің мазмұнын көрсету үшін қажет (орындалатын сценарийлер, бет орналасуы туралы ақпарат - CSS кестелерістильдер, суреттер және бейне файлдар түріндегі қосымша ресурстар) тікелей түпнұсқа құжаттың бөлігі болып табылады, бірақ интернетте басқа жерде орналасқан. Әрі қарай браузер осы ресурстардың барлығын пайдаланушыға бір құжат – веб-бет түрінде көрсету үшін қосады. Браузердің өзі орындайтын сценарийлер веб-бетті өңдеудің келесі кезеңдерінде желі арқылы қосымша ресурстарды ала алады, ал браузер сәйкесінше пайдаланушы үшін осы беттің дисплейін жаңартады.

    Веб-бет гипермәтіндік құжат болып табылады. Бұл көрсетілетін мәтіннің кейбір бөліктері жаңа веб-бетті алу және сәйкесінше көрсету (сілтемені басу) үшін белсендіруге болатын (әдетте тінтуір түймесін басу арқылы) сілтемелер екенін білдіреді. Бұл пайдаланушыға желінің (Интернет) беттері бойынша «шарлауға» мүмкіндік береді. Браузер осы гиперсілтемелерді HTTP сұрауларына түрлендіреді, содан кейін қабылданған HTTP жауаптарын пайдаланушыға түсінікті пішінде көрсетеді.

    Веб-сервер

    Байланыс арнасының екінші жағында қызмет көрсететін сервер (ағыл. қызмет ету) пайдаланушының сұрауы бойынша оған құжаттарды ұсынуы. Соңғы пайдаланушының көзқарасы бойынша сервер әрқашан белгілі бір болып табылады виртуалды машина, ол құжатты толығымен немесе ішінара жасайды, дегенмен шын мәнінде бұл жүктеме теңдестірілетін серверлер тобы болуы мүмкін, яғни әртүрлі пайдаланушылардың сұраулары қайта бөлінеді немесе күрделі болуы мүмкін. бағдарламалық қамтамасыз етубасқа компьютерлерді сұрау (мысалы, кэштеу серверлері, дерекқор серверлері, электрондық коммерция қолданбаларының серверлері және т.б.).

    Сервер міндетті түрде бір машинада орналаспайды және керісінше – бірнеше серверлерді бір машинада орналастыруға (хосттауға) болады. HTTP / 1.1 және хост тақырыбына сәйкес олар тіпті бірдей IP мекенжайын ортақ пайдалана алады.

    Прокси

    Веб-шолғыш пен сервер арасында көп саны HTTP хабарламаларын жіберетін желі түйіндері. Қабатты құрылымға байланысты олардың көпшілігі көлік желісінде де жұмыс істейді немесе физикалық деңгейлер, HTTP қабатында мөлдір болу және өнімділікті төмендетуі мүмкін. Бұл қолданбалы деңгейдегі операциялар деп аталады прокси ... Олар мөлдір болуы немесе болмауы мүмкін (сұрауларды өзгерту олар арқылы өтпейді) және көптеген функцияларды орындай алады:

    • кэштеу (кэш жалпы немесе жеке болуы мүмкін, мысалы, шолғыш кэші)
    • сүзу (антивирусты сканерлеу сияқты, ата-ана бақылауы, …)
    • жүктемені теңестіру (бірнеше серверге әртүрлі сұрауларға қызмет көрсетуге рұқсат беру)
    • аутентификация (әртүрлі ресурстарға қол жеткізуді басқару)
    • журнал жүргізу (операциялар тарихын сақтауға рұқсат

    HTTP-тің негізгі аспектілері

    HTTP қарапайым

    HTTP хабарламаларын фреймдерге инкапсуляциялау арқылы HTTP / 2 жүйесінде енгізілген үлкен күрделілікке қарамастан, HTTP әдетте қарапайым және адамдарға ыңғайлы. HTTP хабарламаларын адамдар оқуы және түсінуі мүмкін, бұл әзірлеушілер үшін оңай тестілеуді және жаңа пайдаланушылар үшін күрделілікті азайтады.

    HTTP - кеңейтілетін

    HTTP / 1.0 жүйесінде енгізілген HTTP тақырыптары бұл протоколды кеңейтуді және тәжірибе жасауды жеңілдетеді. Жаңа функционалдылықты тіпті жаңа тақырыптың семантикасы бойынша клиент пен сервер арасындағы қарапайым келісім арқылы енгізуге болады.

    HTTP азаматтығы жоқ, бірақ сеансы бар

    HTTP азаматтығы жоқ: бір қосылым арқылы дәйекті түрде жасалған екі сұрау арасында байланыс жоқ. Бұл пайдаланушының белгілі бір бетпен дәйекті түрде әрекеттесуге тырысатын проблемалары мүмкіндігін бірден білдіреді, мысалы, сатып алу себетін пайдалану кезінде. электрондық дүкен... Бірақ HTTP өзегі азаматтығы жоқ болса да, cookie файлдары күйді көрсететін сеанстарды пайдалануға мүмкіндік береді. Тақырыптың кеңейтілуін пайдалана отырып, жұмыс процесіне cookie файлдары қосылады, бұл сеансқа әрбір HTTP сұрауында кейбір контекстті немесе күйді ортақ пайдалануға мүмкіндік береді.

    HTTP және қосылымдар

    Өзара байланыс тасымалдау арқылы басқарылады, сондықтан HTTP шекарасынан түбегейлі асып түседі. HTTP негізгі тасымалдау протоколының қосылымға негізделген болуын талап етпесе де, ол тек талап етеді сенімділік, немесе жоғалған хабарлар жоқ (яғни, кем дегенде қатенің көрінісі). Интернетте кең тараған екі көлік протоколының ішінде TCP сенімді, бірақ UDP сенімді емес. HTTP кейін қосылымға негізделген TCP стандартына сүйенеді, дегенмен қосылым әрқашан қажет емес.

    HTTP / 1.0 әрбір сұрау/жауап алмасу үшін TCP қосылымын ашты, оның екі маңызды кемшілігі бар: қосылымды ашу бірнеше хабарлама алмасуды қажет етеді, сондықтан ол бірнеше хабарламаларды жіберу кезінде немесе хабарламаларды жүйелі түрде жіберу кезінде тиімдірек болғанымен баяу: жылықарағанда, байланыстар тиімдірек суық.

    Осы кемшіліктерді азайту үшін HTTP / 1.1 құбыр желісін (оны орындау қиынға соқты) және тұрақты қосылымдарды енгізді: негізгі TCP қосылымын Қосылым тақырыбы арқылы ішінара басқаруға болады. HTTP / 2 қосылымды жылы және тиімдірек ұстауға көмектесу үшін қарапайым қосылым арқылы хабар алмасуды қосу арқылы келесі қадамды жасады.

    HTTP үшін қолайлырақ жақсырақ тасымалдау протоколын әзірлеу үшін эксперименттер жүргізілуде. Мысалы, Google сенімдірек және тиімді тасымалдау протоколын қамтамасыз ету үшін UDP негізіндегі QUIC-пен тәжірибе жасауда.

    HTTP арқылы нені басқаруға болады

    HTTP-тің табиғи кеңеюі уақыт өте келе вебті басқару мен функционалдылықты арттыруға мүмкіндік берді. Кэш және аутентификация әдістері HTTP тарихындағы алғашқы мүмкіндіктер болды. Керісінше, бастапқы шектеулерді жеңілдету мүмкіндігі 2010 жылдары қосылды.

    Төменде тізімделген жалпы функциялар HTTP көмегімен басқарылады.


    • Сервер прокси-серверлер мен клиенттерге нені және қанша уақытты кэштеу керектігін нұсқай алады. Клиент аралық кэш проксилеріне сақталған құжаттарды елемеу туралы нұсқау бере алады.
    • Дереккөз шектеулерін жеңілдету
      Шпиондық бағдарламаны және басқа да құпиялылыққа нұқсан келтіретін шабуылдарды болдырмау үшін веб-шолғыш веб-сайттар арасында қатаң бөлуді қамтамасыз етеді. Тек беттер бірдей дереккөзвеб-беттегі ақпаратқа қол жеткізе алады. Мұндай шектеу серверге ауыртпалық әкелсе де, HTTP тақырыптары құжатқа әртүрлі домендерден алынған ақпараттың бөлігі болуына рұқсат беру арқылы сервер жағында күшті бөлуді әлсіретуі мүмкін (қауіпсіздік мақсатында).
    • Аутентификация
      Кейбір беттерге арнайы пайдаланушылар ғана қол жеткізе алады. Негізгі аутентификация HTTP арқылы не WWW-Authenticate тақырыбын және сол сияқтыларды пайдалану арқылы немесе cookie файлдарын пайдаланып арнайы сеансты орнату арқылы қамтамасыз етілуі мүмкін.
    • Прокси және туннельдеу
      Серверлер және/немесе клиенттер көбінесе интранеттерде орналасады және өздерінің шынайы IP мекенжайларын басқалардан жасырады. HTTP сұраулары осы желі кедергісін кесіп өту үшін прокси арқылы өтеді. Барлық проксилер HTTP проксилері емес. Мысалы, SOCKS протоколы төменгі деңгейде жұмыс істейді. Басқаларды, мысалы, ftp, осы прокси-серверлермен өңдей алады.
    • Сеанстар
      HTTP cookie файлын пайдалану сұрауды сервердегі күймен байланыстыруға мүмкіндік береді. Бұл сеанс жасайды, бірақ HTTP өзегі азаматтығы жоқ протокол болып табылады. Бұл онлайн сатып алу арбалары үшін ғана емес, сонымен қатар пайдаланушыға шығысты реттеуге мүмкіндік беретін кез келген сайт үшін де пайдалы.

    HTTP ағыны

    Клиент соңғы сервер немесе аралық прокси бола отырып, сервермен әрекеттесуді қаласа, ол келесі қадамдарды орындайды:

    1. TCP қосылымын ашу: TCP қосылымы сұрауды немесе сұрауларды жіберу және жауап алу үшін пайдаланылады. Клиент жаңа қосылымды аша алады, бұрыннан барын қайта пайдалана алады немесе серверге бірнеше TCP қосылымдарын аша алады.
    2. HTTP хабарламасын жіберу: HTTP хабары (HTTP / 2 дейін) - адам оқи алады. HTTP/2 болғандықтан, қарапайым хабарламаларкадрларға инкапсулирленген, бұл оларды тікелей оқуды мүмкін емес етеді, бірақ түбегейлі өзгеріссіз қалады. GET / HTTP / 1.1 Хост: сайт Қабылдау тілі: fr
    3. Серверден жауапты оқиды: HTTP / 1.1 200 OK Күні: сен, 09 қазан 2010 ж. 14:28:02 GMT Сервер: Apache Соңғы рет өзгертілген: сей, 01 желтоқсан 2009 ж. 20:18:22 GMT ETег: "51142bc1-74 479b075b2891b" Қабылдау-ауқымы: байт Мазмұн-ұзындығы: 29769 Мазмұн-түрі: мәтін / html
    4. Қосымша сұраулар үшін қосылымды жабады немесе қайта пайдаланады.

    HTTP конвейері қосылған болса, бірінші толық жауапты күтпестен бірнеше сұрауларды жіберуге болады. HTTP конвейерін бағдарламалық жасақтаманың ескі бөліктері заманауи нұсқалармен қатар өмір сүретін бар желілерге біріктіру қиын. HTTP конвейері HTTP / 2 ішінде сенімдірек мультиплекстелген кадр ішіндегі сұраулармен ауыстырылды.

    HTTP хабарлары

    HTTP / 1.1 және одан бұрынғы HTTP хабарлары адам оқи алады. HTTP / 2 нұсқасында бұл хабарлар тақырыпты қысу және мультиплекстеу сияқты оңтайландыруға мүмкіндік беретін жаңа екілік құрылымға, кадрға ендірілген. HTTP-тің осы нұсқасында бастапқы HTTP хабарламасының бір бөлігі жіберілсе де, әрбір хабарламаның семантикасы өзгермейді және клиент бастапқы HTTP сұрауын (іс жүзінде) қайта жасайды. Ол HTTP / 1.1 пішіміндегі HTTP / 2 хабарламаларын түсіну үшін де пайдалы.

    HTTP хабарларының, сұрауларының және жауаптарының әрқайсысы басқа пішімдегі екі түрі бар.

    Анықтамалар

    HTTP сұрауларының мысалдары:

    • HTTP әдісі, әдетте GET сияқты етістік,
    • Сервер үшін қосымша ақпаратты беретін тақырыптар (міндетті емес).
    • Немесе POST сияқты кейбір әдістерге арналған, жіберілген ресурсты қамтитын дене.

    Жауаптар

    Жауаптардың мысалдары:

    • HTTP протоколының нұсқасы.
    • Сұрау сәттілігін немесе сәтсіздіктің себебін көрсететін HTTP күй коды.
    • Күй туралы хабарлама – күй кодының қысқаша сипаттамасы.
    • HTTP тақырыптары сұрау тақырыптарына ұқсас.
    • Қосымша: жүктеп салынатын ресурсты қамтитын негізгі мәтін.

    Қорытынды

    HTTP – пайдалану оңай кеңейтілетін протокол. Клиент-сервер құрылымы тақырыптарды оңай қосу мүмкіндігімен бірге HTTP-ге Веб мүмкіндіктерінің кеңеюімен бірге қозғалуға мүмкіндік береді.

    HTTP / 2 өнімділікті жақсарту үшін фреймдерге HTTP хабарламаларын ендіру арқылы біршама күрделілік қосатынымен, негізгі хабарлама құрылымы HTTP / 1.0-ден қалады. Сеанс ағыны қарапайым болып қала береді, бұл қарапайым көмегімен зерттеуге және жөндеуге мүмкіндік береді

    Мақала ұнады ма? Достарыңызбен бөлісіңіз!
    Бұл пайдалы болды ма?
    Иә
    Жоқ
    Пікіріңізге рахмет!
    Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
    Рақмет сізге. Сіздің хабарламаңыз жіберілді
    Мәтіннен қате таптыңыз ба?
    Оны бөлектеңіз, басыңыз Ctrl + Enterжәне біз бәрін түзетеміз!