HTTP хаттамасы

HTTP хаттамасы бойынша жұмыс келесі түрде жүргізіледі: программа-клиент сервермен TCP-байланысты орнатады (порттың стандартты нөмірі -80) және оған HTTP-сұраныс жібереді. Сервер бұл сұранысты өңдеп, клиентке HTTP-жауап жібереді.

HTTP-сұраныстың құрылымы. HTTP-сұраныс бос қатармен бөлініп жазылған сұраныстың тақырыбымен сұраныс денесінен тұрады. Сұраныс денесі болмауы да мүмкін. Сұраныс тақырыбы сұраныстың негізгі (бірінші) қатарынан және негізгі қатардағыларды анықтай түсетін келесі қатарлардан тұрады. Келесі қатарлардың да болмауы мүмкін. Негізгі қатардағы сұраныс бос орынмен бөлінген үш бөлімнен тұрады:

1. Әдіс (басқаша айтқанда, http командасы):

· GET – құжат сұранысы. Анағұрлым көп қолданылатын әдіс; HTTP/0.9-да, осы әдіс қана болған.

· HEAD – құжат тақырыбына сұраныс. GET-тен, тек құжат жөнінде ақпарат жазылған тақырып сұранысы шығарылатындығымен ерекшеленеді. Құжаттың өзі шығарылмайды.

· POST – бұл әдіс мәліметтерді CGI-скрипттеріне жіберу үшін қолданылады. Мәліметтердің өзі келесі қатарларда параметрлер түрінде орналасады.

· PUT – құжатты серверге орналастыру. Сирек қолданылады. Бұл әдіс қолданылған сұраныс құжаттың өзі жіберілетін бөліктен тұрады.

2. Ресурс – бұл клиент алғысы келетін, сервердегі нақты файлдың орналасқан орнының жолы (немесе PUT әдісі үшін орналастыру). Егер ресурс – оқуға арналған жай ғана файл болса, сервер бұл сұраныс бойынша оны жауап бөлігінде шығаруы керек. Егер бұл CGI-скриптке апаратын жол болса, онда сервер скрипті іске қосып, оның орындалу нәтижесін шығарады.

3. Хаттама нұсқасы – клиент программасы жұмыс істейтін, http хаттамасының нұсқасы.

Сонымен қарапайым HTTP-сұраныс келесі түрде болады:

GET / HTTP/1.0 - web-сервердің түпкі директориясынан түпкі файл сұралады. Сұраныстың негізгі қатарынан кейінгі қатардың форматы: Параметр: мәні түрінде болады. Осылай сұраныс параметрлері беріледі. Бұл міндетті емес, негізгі қатардан кейінгі қатарлардың барлығы болмауы да мүмкін; бұл кезде сервер олардың мәнін үнсіз келісім немесе алдыңғы сұраныстың нәтижесі (Keep-Alive режимінде жұмыс істеу кезінде) бойынша қабылдайды.

HTTP-сұраныстың анағұрлым көп қолданылатын параметрлерін қарастырайық:

§ Connection (байланыстыру)- Keep-Alive және close мәндерін қабылдай алады.

§ Keep-Alive ("тірі қалдыру") құжаттты шығарғаннан кейін сервермен байланыс үзілмейтіндігін, тағы да сұраныстар беруді жалғастыруға болатындығын білдіреді. Көптеген браузерлер Keep-Alive режимінде жұмыс істейді, өйткені ол сервермен байланыстырып, html-парақтар мен ондағы суреттерді жазып алу мүмкіндігін береді. Бұл режим қосылғаннан кейін алғашқы қате кездескенге немесе Connection: close режимінің кезекті қосылғанына дейін жұмыс істейді.

§ close ("закрыть") – байланыс берілген сұранысқа жауаптан кейін үзіледі.

§ User-Agent – мәні браузердің "кодтық белгілеуі" болады, мысалы: Mozilla/4.0 (compatible; MSIE 5.0; Windows 95; DigExt)

§ Accept – браузер қолдайтын типтер мазмұны берілген браузердің ретіндегідей болады, мысалы, IE5 үшін: Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*. Бұл параметрдің мәні негізінен жауаптарды құру үшін CGI-скриптерінде қолданылады.

§ Referer - URL, осы ресурсқа көшу.

§ Host – ресурс сұралатын хостың аты. Серверде бір IP-адреспен бірнеше виртуалды серверлер болған кезде пайдаланылады. Бұл кезде виртуалды серверді осы өрісі бойынша анықтайды.

§ Accept-Language – қолдайтын тіл. Бір құжатты әр түрлі тілдер нұсқаларымен беру кезінде маңызды орын алады.

HTTP-жауаптардың форматтары. Жауап форматы сұраныс форматына өте ұқсас. Ол да бос қатармен бөлінген тақырып пен құжат денесінен тұрады. Тақырып негізгі қатар мен парамертлер қатарынан тұрады. Бірақ негізгі қатардың форматының сұраныс қатарындағыдан айырмашылығы бар. Сұраныстың негізгі қатары бос орынмен бөлінген 3 өрістен тұрады:

§ Хаттама нұсқасы – сұраныстың сәйкес параметріне ұқсас.

§ Қате коды – кодтық белгілеу. 200 коды "барлығы дұрыс" (OK) дегенді білдіреді.

§ Қатенің сөзбен талдануы – алдыңғы кодты "талдау". Мысалы, 200 үшін OK, 500 үшін - Internal Server Error.

http-жауаптың анағұрлым көп қолданылатын параметрлері:

§ Connection – сұраныстың сәйкес параметрі сияқты. Егер сервер Keep-Alive режімін қолдамаса, онда Connection мәні әрқашан close.

§ Content-Type ("мазмұнның типі") – жауап мазмұнының типі.

§ Content-Type мәніне байланысты браузер жауапты HTML-парақ, gif немесе jpeg суретті, дискіге сақтауға арналған файл т.с.с сияқты қабылдайды. Content-Type мәні браузер үшін Windows арналған файл типіне ұқсаса болады.

Құжаттардың типтері:

¨ text/html - HTML (веб-парақ) форматындағы мәтін;

¨ text/plain – жай мәтін ("блокноттағыдай");

¨ image/jpeg – JPEG форматындағы сүрет;

¨ image/gif – GIF форматындағы сурет;

¨ application/octet-stream - "октеттер" (т.е. жай байт) ағыны дискіге жазу үшін.

§ Content-Length ("мазмұн ұзындығы") –жауап мазмұнның байтпен берілген ұзындығы.

§ Last-Modified ("Соңғы рет жаңартылған") – құжаттың соңғы өзгертілген уақыты.

CGI – бұл сервердегі программалар веб-сервер арқылы клиенттерге мәліметтерді жіберетін ережелер жинағы.

CGI программаларға мәліметтерді клиенттерге жөнелту мүмкіндігін берсе, формалар CGI-программалар үшін осы мүмкіндікті кеңейтеді.

CGI қосымшаларын таратуға келесілер жатады:

§ Динамикалық HTML. Тұтас сайттар бір CGI-программасымен басқарылады.

§ Пайдаланушы енгізген сөздері бар құжаттарды табатын іздеу механизмдері.

§ Пайдаланушылар өз хабарламаларын қоса алатын хабарландыру тақталары мен қонақ кітаптары.

§ Тапсырыс қағаздары.

§ Сауалнамалар (анкеты).

§ Серверге орналастырылған мәліметтер базасынан ақпараттарды шығару.

Осылардың барлығы CGI-ді мәліметтер базасымен байланыстыруға мүмкіндік береді.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: