объбд | упдетцбойе | чретед

6 Пфчеф (Response).

Рпуме рпмхюеойс й йофетртефбгйй уппвэеойс ъбртпуб, уетчет пфчеюбеф уппвэеойен HTTP пфчефб.

       Response      = Status-Line               ; Тбъдем 6.1
                       *( general-header         ; Тбъдем 4.5
                        | response-header        ; Тбъдем 6.2
                        | entity-header )        ; Тбъдем 7.1
                       CRLF
                       [ message-body ]          ; Тбъдем 7.2

6.1 Уфтплб упуфпсойс (Status-Line).

Ретчбс уфтплб пфчефб - ьфп уфтплб упуфпсойс (Status-Line). Поб упуфпйф йъ четуйй ртпфплпмб (HTTP-Version), юйумпчпзп лпдб упуфпсойс (Status-Code) й рпсуосаэек жтбъщ (Reason-Phrase), тбъдемеоощи уйнчпмбнй SP. CR й LF ое дпрхуфйнщ ч Status-Line, ъб йулмаюеойен лпоеюопк рпумедпчбфемшопуфй CRLF.

       Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

6.1.1 Лпд упуфпсойс й рпсуосаэбс жтбъб.

Ьменеоф лпд упуфпсойс (Status-Code) - ьфп гемпюйумеоощк фтеитбътсдощк лпд теъхмшфбфб рпойнбойс й хдпчмефчптеойс ъбртпуб. Ьфй лпдщ рпмопуфша пртедемеощ ч тбъдеме 10. Рпсуосаэбс жтбъб (Reason-Phrase) ртедобъобюеоб дмс лптпфлпзп фелуфпчпзп прйубойс лпдб упуфпсойс. Лпд упуфпсойс (Status-Code) ртедобъобюео дмс йурпмшъпчбойс бчфпнбфбнй, б рпсуосаэбс жтбъб ртедобъобюеоб дмс цйчщи рпмшъпчбфемек. Пф лмйеофб ое фтевхефус йуумедпчбфш ймй пфпвтбцбфш рпсуосаэха жтбъх (Reason-Phrase).

Ретчбс гйжтб лпдб упуфпсойс пртедемсеф лмбуу пфчефб. Рпумедойе дче гйжтщ ое йнеаф пртедемеоопк тпмй ч лмбууйжйлбгйй. Йнеефус 5 ъобюеойк ретчпк гйжтщ:

  1. 1xx: Йожптнбгйпооще лпдщ - ъбртпу рпмхюео, ртпдпмцбефус пвтбвпфлб.
  2. 2xx: Хуреыоще лпдщ - декуфчйе вщмп хуреыоп рпмхюеоп, рпосфп й пвтбвпфбоп.
  3. 3xx: Лпдщ ретеобртбчмеойс - дмс чщрпмоеойс ъбртпуб дпмцощ вщфш ртедртйосфщ дбмшоекыйе декуфчйс.
  4. 4xx: Лпдщ пыйвпл лмйеофб - ъбртпу йнееф рмпипк уйофблуйу ймй ое нпцеф вщфш чщрпмоео.
  5. 5xx: Лпдщ пыйвпл уетчетб - уетчет ое ч упуфпсойй чщрпмойфш дпрхуфйнщк ъбртпу.

Лполтефоще ъобюеойс юйумпчщи лпдпч упуфпсойс, пртедемеоощи ч HTTP/1.1, й ртйнетощк обвпт уппфчефуфчхаэйи рпсуосаэйи жтбъ (Reason-Phrase) ртйчпдсфус ойце. Рпсуосаэйе жтбъщ (Reason-Phrase), ретеюйумеооще ъдеуш счмсафус телпнеодхенщнй, оп нпзхф вщфш ъбнеоеощ об ьлчйчбмеофоще веъ чпъдекуфчйс об ртпфплпм.

          Status-Code    = "100"   ; Ртпдпмцбфш, Continue
                         | "101"   ; Ретелмаюеойе ртпфплпмпч, Switching Protocols
                         | "200"   ; OK
                         | "201"   ; Упъдбо, Created
                         | "202"   ; Ртйосфп, Accepted
                         | "203"   ; Ое бчфптулбс йожптнбгйс, Non-Authoritative Information
                         | "204"   ; Оеф упдетцйнпзп, No Content
                         | "205"   ; Увтпуйфш упдетцйнпе, Reset Content
                         | "206"   ; Юбуфйюопе упдетцйнпе, Partial Content
                         | "300"   ; Нопцеуфчеоощк чщвпт, Multiple Choices
                         | "301"   ; Рпуфпсооп ретеоеуео, Moved Permanently
                         | "302"   ; Чтенеооп ретенеэео, Moved Temporarily
                         | "303"   ; Унпфтефш дтхзпк, See Other
                         | "304"   ; Ое нпдйжйгйтпчбо, Not Modified
                         | "305"   ; Йурпмшъхкфе ртплуй-уетчет, Use Proxy
                         | "400"   ; Йурптюеоощк Ъбртпу, Bad Request
                         | "401"   ; Оеуболгйпойтпчбооп, Unauthorized
                         | "402"   ; Фтевхефус прмбфб, Payment Required
                         | "403"   ; Ъбртеэеоп, Forbidden
                         | "404"   ; Ое обкдео, Not Found
                         | "405"   ; Нефпд ое дпъчпмео, Method Not Allowed
                         | "406"   ; Ое ртйенмен, Not Acceptable
                         | "407"   ; Фтевхефус хуфбопчмеойе рпдмйоопуфй юетеъ
                                   ; ртплуй-уетчет, Proxy Authentication Required
                         | "408"   ; Йуфелмп чтенс пцйдбойс ъбртпуб, Request Timeout
                         | "409"   ; Лпожмйлф, Conflict
                         | "410"   ; Хдбмео, Gone
                         | "411"   ; Фтевхефус дмйоб, Length Required
                         | "412"   ; Ртедхумпчйе оечетоп, Precondition Failed
                         | "413"   ; Пв®елф ъбртпуб умйылпн впмшыпк, Request Entity Too
                                   ; Large
                         | "414"   ; URI ъбртпуб умйылпн дмйоощк, Request-URI Too Long
                         | "415"   ; Оерпддетцйчбенщк недйб фйр, Unsupported Media Type
                         | "500"   ; Чохфтеоосс пыйвлб уетчетб, Internal Server Error
                         | "501"   ; Ое тебмйъпчбоп, Not Implemented
                         | "502"   ; Пыйвлб ымаъб, Bad Gateway
                         | "503"   ; Уетчйу оедпуфхрео, Service Unavailable
                         | "504"   ; Йуфелмп чтенс пцйдбойс пф ымаъб, Gateway Timeout
                         | "505"   ; Ое рпддетцйчбенбс четуйс HTTP, HTTP Version Not
                                   ; Supported
                         | extension-code

          extension-code = 3DIGIT

          Reason-Phrase  = *<TEXT ое члмаюбаэйк CR, LF>

Лпдщ упуфпсойс HTTP тбуыйтсенщ. HTTP ртймпцеойсн ое фтевхефус рпойнбфш ъобюеойе чуеи ъбтезйуфтйтпчбоощи лпдпч упуфпсойс, ипфс фблпе рпойнбойе пюеош цембфемшоп. Пдоблп, ртймпцеойс ДПМЦОЩ рпойнбфш лмбуу мавпзп лпдб упуфпсойс, лпфптщк пвпъобюбефус ретчпк гйжтпк, й пвтбвбфщчбфш мавпк оетбурпъобоощк пфчеф лбл ьлчйчбмеофощк лпдх упуфпсойс x00 ьфпзп лмбууб, ъб йулмаюеойен феи умхюбеч, лпздб оетбурпъобоощк пфчеф ОЕ ДПМЦЕО льыйтпчбфшус. Обртйнет, еумй лмйеофпн рпмхюео й ое вщм тбурпъобо лпд упуфпсойс 431, фп по нпцеф веъпрбуоп уюйфбфш, юфп ч ъбртпуе юфп-фп вщмп оертбчймшоп й пвтбвбфщчбфш пфчеф, лбл еумй вщ вщм рпмхюео лпд упуфпсойс 400. Ч фблйи умхюбси бзеофбн рпмшъпчбфемс УМЕДХЕФ ртедуфбчйфш рпмшъпчбфема пв®елф, чпъчтбэеоощк ч пфчефе, фбл лбл ьфпф пв®елф, четпсфоп, члмаюбеф юйфбвемшоха дмс юемпчелб йожптнбгйа, лпфптбс рпсуосеф оепвщюопе упуфпсойе.

6.2 Рпмс ъбзпмпчлб пфчефб.

Рпмс ъбзпмпчлб пфчефб (response-header fields) рпъчпмсаф уетчетх ретедбчбфш дпрпмойфемшоха йожптнбгйа, лбубаэхаус пфчефб, лпфптбс ое нпцеф вщфш рпнеэеоб ч уфтплх упуфпсойс Status-Line. Ьфй рпмс ъбзпмпчлб дбаф йожптнбгйа п уетчете й п дбмшоекыен дпуфхре л теухтух, хлбъбоопнх ьфйн Request-URI.

          response-header = Age                     ; Тбъдем 14.6
                          | Location                ; Тбъдем 14.30
                          | Proxy-Authenticate      ; Тбъдем 14.33
                          | Public                  ; Тбъдем 14.35
                          | Retry-After             ; Тбъдем 14.38
                          | Server                  ; Тбъдем 14.39
                          | Vary                    ; Тбъдем 14.43
                          | Warning                 ; Тбъдем 14.45
                          | WWW-Authenticate        ; Тбъдем 14.46

Йнеоб рпмек ъбзпмпчлб пфчефб (Response-header) нпзхф вщфш обдецоп тбуыйтеощ фпмшлп ч упюефбойй у йънеоеойен четуйй ртпфплпмб. Пдоблп, опчще ймй ьлуретйнеофбмшоще рпмс ъбзпмпчлб нпзхф рпмхюйфш уенбофйлх рпмек ъбзпмпчлб пфчефб (Response-header), еумй чуе уфптпощ упедйоеойс тбурпъобаф йи лбл рпмс ъбзпмпчлб пфчефб (Response-header). Оетбурпъобооще рпмс ъбзпмпчлб пвтбвбфщчбафус лбл рпмс ъбзпмпчлб пв®елфб (entity-header).

Нопцеуфчп йнео рпмек ъбзпмпчлб пфчефб (Response-header) нпцеф вщфш обдецоп тбуыйтеоп фпмшлп ч лпнвйобгйй у йънеоеойен четуйй ртпфплпмб. Пдоблп, опчще ймй ьлуретйнеофбмшоще рпмс ъбзпмпчлб у уенбофйлпк рпмек ъбзпмпчлб пфчефб НПЗХФ вщфш дпвбчмеощ еумй чуе хюбуфойлй упедйоеойс тбурпъобаф йи лбл рпмс ъбзпмпчлб пфчефб. Оетбурпъобооще рпмс ъбзпмпчлб пвтбвбфщчбафус лбл рпмс ъбзпмпчлб пв®елфб.


Copyright  ©  1998 Alex Simonoff (http://www.omsk.com/Leshik/), All Rights Reserved.


объбд | упдетцбойе | чретед