Лекциялар жинағы кредит саны 3 Шымкент-2019


Сервердің айнымалы ортасы



жүктеу 256,74 Kb.
бет69/86
Дата21.01.2022
өлшемі256,74 Kb.
#34143
түріЛекция
1   ...   65   66   67   68   69   70   71   72   ...   86
Лекция жинағы 2019-2020

Сервердің айнымалы ортасы.

Айнымалы орта

Сервер CGI-бағдарламаны орындап жатқанда ең алдымен оған айнымалы ортасы түрінде жұмыс істеуі үшін кейбір берілгендерді жібереді. Ресми түрде айнымалылардың он жеті түрі анықталған, бірақ бейресми түрде - HTTP_mechanism деп аталатын төменгі механизм көмегімен одан да көп қолданылады. CGI-бағдарлама бұл айнымалыларға командалық қатардан іске қосылған командалық процессор ортасындағы кез келген айнымалы сияқты қол жеткізе алады. Командалық процессор сценарийсіне, мысалыға, FOO айнымалы ортаны $FOO деп қарастыруға болады; Perl-ге бұл айналдыру $ENV{'FOO'} түрінде көрінеді; С - getenv("FOO"); және т.б. 2-2 кестеде еш болмаса null мағынасымен әрқашан серверден орнатылатын айнымалылар саналған. Сұраныстың тақырыбында клиентпен қайтарылатын берілгендердің бұл айнымалылары HTTP_FOO айнымалы түрінде меншіктеледі, FOO орнына тақырып аты. Мысалыға, көпшілік веб-броузерлер USER_AGENT атымен тақырыпта болжама туралы берілгендерді қосады. Сіздің CGI-бағдарлама бұл берілгендерді HTTP_USER_AGENT айнымалыдан алуы мүмкін.

Серверге хабарлама жіберу.

CGI технология сервер жақтағы технологияға жатады. Бұл дегеніміз, CGI бағдарлама Web серверде іске қосылады және оның локальді операциялық жүйесінде жұмыс істейді.

Клиенттен сұраныс хабарламаны алғанда сервер келесі әрекеттерді орындайды:


  1. Идентификатор бойынша сұралған ресурс бағдарлама болатыны анықталады.

  2. Жасалынатын процестің айнымалы ортасы үшін жадыдан блок ажыратылады. Ажыратылған блокка Web сервердегі процестің айнымалы ортасы көшіріледі.

  3. Web сервер және CGI интерфейсте HTTP протоколы туралы ақпаратпен айнымалы орта құрылады және айнымалы ортаны ажыратылған блокка қосады. 9 кестеде CGI-дің негізгі айнымалы ортасы келтірілген.

  4. Алынған хабарламадан сұралған әдіс REQUEST_METHOD айнымалы ортасына мағына түрінде бірігеді, кейін құрылған айнымалы орта ажыратылған блокка қосылады.

  5. Сұраныстан алынған хабарламаның тақырып бөлігі айнымалы ортаға сәйкес түрленеді және айнымалы ортаның құрылған блогына қосылады.

CGI қосымшадан Web серверге жіберілетін берілгендер форматын HTTP протоколы хабарлама форматымен бірге қосамыз. Бұл берілгендер тақырыпты, бос қатарды және хабарлама денесін ұстауы қажет. Тақырыптар CGI тақырыптары және HTTP тақырыптары болып бөлінеді. CGI –дің 3 тақырыбы бар:

  1. Content-Type – құрамындағы жіберілетін хабарлама денесінің типі. HTTP протоколының мағынасы Content-Type тақырыбына сәйкес келеді.

  2. Location – сұралатын ресурс идентификаторы. HTTP протоколының мағынасы Location тақырыбына сәйкес келеді.

  3. Status – жағдай қатары. Берілген тақырыптың мағынасы жағдайдың үш мағыналық коды және Web сервер пайдаланушы агентіне беруі тиіс түсіндіруші сөйлем болып табылады.

Қалған барлық тақырыптар Web сервермен НТТР тақырыптары болып саналады және пайдаланушы агентіне өзгеріссіз, сонымен бірге хабарлама денесімен беріледі. Берілгендер CGI бағдарламадан Web клиентке тікелей жіберіледі деп санауға болады.

printf() функциясы көмегімен шығарудың стандартты ағынына шығару мүмкін:

#include

int printf(char *format, ...);

При обмене двоичными данными между приложением CGI и сервером Web, например, при отправке графического изображения, сформированного приложением CGI в процессе своей работы, следует учитывать некоторые особенности. Потоки могут находиться в двух режимах: двоичном и текстовом. В двоичном режиме данные передаются в том виде, в котором они представляются при хранении этих данных в памяти.

CGI бағдарлама келесі әрекеттерді орындауы тиіс:



  1. Сұралатын әдісті анықтау үшін REQUEST_METHOD тақырыбының мағынасын оқу.

  2. Егер сұралатын әдіс – GET болса, онда QUERY_STRING айнымалы ортасын оқу және алынған мағынаны форманың кодталған құрамы деп санау. Кодтау тәсілін application/x-www-url-encoded тең деп санау.

  3. Егер сұралатын әдіс – POST, онда CONTENT_LENGTH айнымалы ортадан сұраныс хабарламасының денесінің ұзындығын оқу. Енгізудің стандартты ағынынан сұраныс хабарламасының денесін оқу және форманың кодталған құрамы деп санау. Кодтау тәсілін CONTENT_TYPE айнымалы ортасынан оқу.

  4. Кодтау тәсіліне тәуелді форманың кодталған құрамын тарату.

  5. CGI бағдарламада қажетті айнымалы ортаны оқу.

  6. Әрекет бағдарламада барлық қажеттілерді орындау және бағдарлама жұмысы нәтижесімен құжатты қалыптастыру.

  7. Шығару стандартты ағынына барлық қажетті CGI және HTTP тақырыптарын және бос қатарды жіберу.

  8. Қалыптасқан құжатты шығарудың стандартты ағынына жіберу.




жүктеу 256,74 Kb.

Достарыңызбен бөлісу:
1   ...   65   66   67   68   69   70   71   72   ...   86




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау