196
Белгилабўтишкеракки,
формаларёрдамидаяратилгансўровлардаҳардоимхамPOSTусулиқўлланилмай
ди. ТескариHTML-
формалариGETусулидадоимийишлатадивакиритилганқийматларникераклиса
ҳифасиниURL-адресигақўяди. Масалан,
агарфойдаланувчиформасигаиккиқийматмахсусmonkeysваbananasникиритган
, GETусулибилансўралганURL-адресиwww.somesite.com/ani-
malsearch?monkeys&bananasкўринишигаэгабўлади.
Бундайтузилишларwebдакўпучрайди.
HEADусулиGETметодибиланўхшаш.
HEADусулибилансўроволингандасервержавобнишакллантиради,
бироқобъектниқайтажўнатишамалгаоширилмайди.
ИловаларнияратувчиларкўпинчаHEADусулихатоликларнитузатиш (отладка)
учунишлатишади.
НТТР/1.0 спецификациясидафақатучусул: GET,
POSTваHEADбелгиланган. НТТР/1.1 спе-
цификациясиусуллармажмуасиданиборатбўлиб, PUTваDELETEҳамкиради.
PUTусулиweb-нашрвоситаларидаишлатиладиваобъектнибелгиланганURL-
адресбиланweb-сервергажойлаштиришимкониниберади, DELETEусули—
объектиўчириш, web- сервердажойлашади.
20.4.2. Хабар-жавоб
Қуйида HTTP-сервер билан генерацияланган типик жавоб мисоли
келтирилган.
НТТР/1.1 200
ОКConnection: close
Date: Tue, 09 Aug 2011 15:44:04 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data ...)
Бухабартузилишиникўрибчиқамиз. Уучқисмданиборат: холатқатори, 6
сарлавҳақаторивахабартанаси.
Хабартанаситалабэтиладиганобъектданиборат.
Холатқаториучмайдонданташкилтопган:
протоколверсиясимайдони,
холаткодмайдониваахбороткодигамоскелувчимайдон,
бухолатнитавсифлайди. Бу мисолда холат қатори, сервер НТТР/1.1
спецификацияни ишлатилишини талаб этиладиган
объект топилган ва уни
жўнатиш амалга оширилганлигини билдиради.
197
Энди сарлавҳа қаторларига эътибор берамиз. Сервер Connection
қаторини ишлатади: сlose объектини жўнатиш тугагач TCP-уланиш ёпилиши
хақида клиентни хабарлайди. TheDate қатори:
жавобни яратилиш санаси ва
вақтидан иборат. Бу сана объектини яратилиш ёки охирги ўзгартиришга
таъллуқли эмас, балки объектни уни сақлаш ва хабар танасига киритиш
жойидан ўчириш моментини билдиради. Сервер қатори:
хабар Apache
сервери томонидан яратилганлиги ва сўров-хабарда User-agent қаторига
ўхшашлигини билдиради. Last-Modified қатори сана, яратилиш вақти ва
объектини охирги ўзгартириш вақтидан иборат. Last-Modified қатори
таркиби объектларни кэшлаш локал клиентлар учун ҳам, шунингдек тармоқ
кэш - серверлар учун ҳам муҳим (одатда прокси сервер дейилади).
Content-Length қатори: узатилган объектнинг байтлардаги ўлчамидан
иборат, Content-Type қатори: объект HTML форматда текст ҳисобланади
(эътибор беринг, объект тури Content-Type қаторининг: таркиби билан
аниқланади ва файлнинг кенгайишига боғлиқ эмас).
Агар сервер НТТР/1.0 версияси кўрсатилган сўров қабул қилса,
хаттоки сервер НТТР/1.1 протоколини қўллаб қувватлаганда ҳам
доимий
уланиш ишлатилмайди. Бу НТТР/1.0 спецификация доимий уланишларни
назарда тутмаганлиги учун зарур.
Одатда холатни кўриб чиққач, жавоб
хабарининг умумий форматига
эътибор қаратамиз (20.4-расм).
20.4-расм.Жавоб-хабарнингумумийформати.
Кўринибтурибдики,
бизнингмисолимизҳамкелтирилганформатгатўлиқмосклади.
Энди
холат
кодининг майдони ва холат хақидаги ахборот нимани билдиришини кўриб
чиқамиз. Бу икки майдон ўзаро боғланган ва сўровни қайта ишлаш
натижаларини акс эттиради. Қуйида код холати ва бу холат хақида
ахборотдан
таркиб топган, энг кўп учрайдиган бир неча жуфтлик
келтирилган.
198
200 OK: Сўров самарали қайта
ишланган, объект қабул қилинган ва
жавобга келтирилган.
301 MovedPermanently: Объект кўчирилган; янги URL-адрес Location
жавоб қаторида кўрсатилган: Клиента дастури янги адрес бўйича
сўровни автоматик бажаради.
400
BadRequest:
Умумий
хатолик,
сўровни
сервер
орқали
интерпретация қилиш имкониятининг
мавжуд эмаслигидан юзага
келади.
404 NotFound: сўралаётган хужжат серверда топилмаган.
505 HTTPVersionNotSupported: Сўровда кўрсатилган HTTP версияси
сервер орқали қўллаб қувваатланади.
Do'stlaringiz bilan baham: