отговори html неща. Описание на обекта Response

Да речем, че трябва да вземем данни от сайта, чието ръчно събиране е непрактично или невъзможно поради обема. В такъв случай можем да автоматизираме процеса с помощта на инструментите, описани по-долу.

библиотека със заявки

Библиотека на Python за отправяне на заявки към сървъра и обработка на отговори. Основата на скрипта за синтактичен анализ и нашето основно оръжие. Използвайки тази библиотека, получаваме съдържанието на страницата под формата на html за по-нататъшен анализ.

импортиране на заявки отговор = заявки. get ("https://ya.ru" ) # получаване на заявка печат (отговор . текст ) # отпечатайте съдържанието на страницатаполезно натоварване = ( "ключ1" : "стойност1", "ключ2": "стойност2") отговор = заявки. get("http://httpbin.org/get" , params = полезен товар) # заявка с параметризаглавки = ( "user-agent" : "my-app/0.0.1") отговор = заявки. get(url, заглавки = заглавки) # заявка със специфични html заглавки

API

Интерфейс за програмиране на приложения – интерфейс за програмиране на приложения, предоставен от собственика на уеб приложението на други разработчици. Липсата на API, който може да задоволи нуждите ни, е първото нещо, което трябва да се уверим, преди да бързаме да анализираме източникстраници и напишете анализатор за него. Много популярни сайтове имат свой собствен API и документация, която обяснява как да го използвате. Можем да използваме api по този начин - формираме http заявка според документацията и получаваме отговор с помощта на заявки.

BS4

Beautifulsoup4 е библиотека за анализ на html и xml документи. Позволява ви директен достъп до съдържанието на всякакви тагове в html.

от bs4 import BeautifulSoup soup = BeautifulSoup (raw_html , "html.parser" ) print (soup . find ("p" , class_ = "some-class" ) . text ) # отпечатайте съдържанието на етикета "p" от класа "some-class"

Selenium WebDriver

Данните на сайта могат да се генерират динамично с помощта на javascript. В този случай заявките + bs4 няма да могат да анализират тези данни. Факт е, че bs4 анализира изходния код на страницата, без да изпълнява js. За да изпълните js код и да получите страница, идентична на тази, която виждаме в браузъра, можете да използвате селенов уеб драйвер - това е набор от драйвери за различни браузъри, снабдени с библиотеки за работа с тези драйвери.

И какво ще стане, ако има разрешение?

session = requests.Session() data = ("login_username":"login", "login_password":"password") url = "http://site.com/login.php" отговор = session.post(url, data =данни)

Но какво ще стане, ако сайтът забрани за много заявки?

  • Задайте забавяне между заявките:

отговор = requests.get(url, timeout=(10, 0.01)) # изчакване на връзката, изчакване на четене (в секунди)

  • Представете се, че сте браузър, използвайки селенов уеб драйвер или като предадете съдържанието на заглавката на потребителския агент, като направите заявка:

user_agent = ("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) " "Gecko/20100101 Firefox/50.0") request = requests.get(url, headers=("User-Agent":user_agent))

  • Използвай прокси:

Описаният обект е много полезен и мощен инструмент. Този обект има няколко метода, тяхното описание е дадено по-долу:

колекции:

методи:

Имоти:

Response.Cookies колекция

Колекцията бисквитки задава стойностите за бисквитки. Ако посочените бисквитки не съществуват, той ги създава. Ако бисквитката съществува, тя приема новата стойност и старата се унищожава.

Response.Cookies(cookie) [(ключ) | . атрибути ] = стойност

Настроики:

  • бисквитка- Име на бисквитката
  • ключ- Незадължителен параметър. Ако е посочено, тогава бисквитката е директория (вложена), а ключът е набор от стойности.
  • атрибути- Посочена информация за самите бисквитки. Този параметър може да бъде един от следните:
  • смисъл- Показва стойността, която трябва да бъде присвоена даден ключили атрибут.
имеОписание
домейнСамо запис. Ако е посочено, бисквитките се изпращат само при поискване от този домейн.
ИзтичаСамо запис. Датата, на която бисквитката изтича. Тази дата трябва да бъде зададена, за да може бисквитката да бъде записана на клиента HDDслед края на сесията. Ако този атрибут не е зададен, тогава се приема, че датата на изтичане на бисквитката е текущата дата. Бисквитките ще изтекат веднага след края на сесията.
има ключСамо четене. Показва дали бисквитката съдържа дадения ключ.
пътекаСамо запис. Ако е посочено, бисквитката се предава само при заявка от този път. Ако параметърът не е зададен, тогава се използва пътят към приложението.
сигуренСамо запис. Показва дали бисквитката ще бъде защитена или не.

коментар:

Ако бисквитката с ключа е създадена, както е показано в следния скрипт,

<% Response.Cookies("mycookie")("type1") = "сахар" Response.Cookies("mycookie")("type2") = "печенье" %>

тогава ще бъде изпратено следното заглавие:

Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=бисквитки

Ако присвоите стойност на mycookie без да използвате ключове, това действие ще унищожи ключовете type1 и type2. Например:<% Response.Cookies("myCookie") = "шоколадный зефир" %>

В предишния пример ключовете type1 и type2 ще бъдат унищожени и техните стойности ще бъдат загубени. Mycookie вече ще съдържа стойността на шоколадов маршмелоу.

Можете също да проверите съществуването на конкретен ключ по следния начин:

<% = Response.Cookies("myCookie").HasKeys %>

Ако се изведе TRUE, значи такъв ключ съществува, в случай на FALSE - не.

Response.Write Метод

Отговор. Напишете променлива_или_стойност

Настроики:

  • променлива_или_стойност- Данните да се показват на екрана на браузъра чрез HTML. Този параметър може да бъде всеки тип, поддържан от VisualBasic Scripting Edition. Тоест данните могат да бъдат от типове: дата, низ, символ, числови стойности. смисъл даден параметърне може да съдържа %> комбинации. Вместо това можете да използвате еквивалентната комбинация %\>. Уеб сървърът ще преведе тази последователност в необходимата, когато скриптът се изпълни.

Следващият пример показва как работи методът Response.write за отпечатване на съобщение до клиента.

просто ще ти кажа:<%Response.write "Привет всем!!!"%>И твоето име<%Response.write(Request.Form("name"))%>

Следният пример добавя HTML маркер към уеб страница. Тъй като този метод не може да съдържа комбинацията %>, ние използваме последователността %\>. Така че примерен скрипт:

<% Response.write "

" %>

Резултатът ще бъде реда:

Отговор. Метод за пренасочване

Response.Redirect URL (URL - единен дескриптор на ресурса)

Настроики:

  • URL- Параметърът е общ дескриптор на ресурс. Показва кога браузърът трябва да бъде пренасочен.

коментар:

Всяко събитие този методмежду таговете иуеб страниците ще бъдат игнорирани. Този метод може да се използва само в заглавката на HTML страница. Този метод ще предаде заглавката на браузъра, ако URL параметърът липсва този обектв следната форма:

HTTP/1.0 302 URL адрес на преместен обект

Метод Response.End

Край на отговора

коментар:

Ако свойството Response.Buffer е зададено на TRUE, тогава извикването на метода Response.End ще прочисти буфера, изтласквайки данните от него към клиента. Ако не искате да показвате данни на потребителя, трябва да извикате следния метод:

<% Response.Clear Response.End %>

Метод Response.AddHeader

Методът AddHeader добавя HTML заглавка със специфични стойности. Този метод винаги добавя нова заглавка към отговора на клиентския браузър. Този метод не заменя съществуваща заглавка с нова. Добавеното заглавие не може да бъде премахнато.

Този метод се използва само за "напреднали" задачи.

Response.AddHeader име на променлива, стойност

Настроики:

  • име на променлива- Името на новите опции за HTML заглавки.
  • смисъл- Стойността, която трябва да се зададе да бъде запомнена в заглавката.

бележки:

За да работи методът правилно, името на променливата не трябва да съдържа знака за долно подчертаване (_). Наборът ServerVariables интерпретира долното подчертаване като тире в заглавката. Например, следният скрипт принуждава сървъра да намери параметър от HTML заглавка, наречена MY-HEADER.

<% Requset.ServerVariables("HTTP_MY_HEADER") %>

Тъй като HTTP протоколът изисква всички параметри на заглавката да бъдат предадени преди началото на тялото на HTML страницата, трябва да извикате метода AddHeader във вашия скрипт, преди описанието да започне. .... Има едно изключение. Ако стойността на свойството Buffer е зададена на true (true), тогава можете да напишете AddHeader във всяка точка на скрипта, но преди първото извикване на метода Flush. В противен случай извикването на метода AddHeader ще доведе до грешка.

Следващите два .asp файла демонстрират последната точка.

<% Response.AddHeader "Внимание!", "Текст сообщения об ошибке"%> вашия текст на страницата

В този пример страницата не е буферирана. Скриптът работи, но AddHeader се извиква преди сървърът да произведе HTML изход на клиента.

<% Response.Buffer = true %> ето малко информация за вашата страница...<%Response.AddHeader "Внимание!", "сообщение об ошибке"%> <%Response.Flush%> <%Response.Write("некий текст")%>

Във втория пример страницата се буферира и в резултат на това сървърът не изпраща текста на клиента, докато самият скрипт не приключи или докато не се срещне методът Flush. Можете да използвате този метод, за да изпратите множество копия на някакъв параметър на заглавката с различни стойности, както при заглавката на WWW-Authenticate.

Метод Response.AppendToLog

Методът AppendToLog добавя ред към края на регистрационния файл на уеб сървъра. Можете да извикате този метод толкова пъти, колкото ви е необходимо. Всеки път, когато методът бъде извикан, низът, който посочите, ще бъде записан във файла с отчет на сървъра.

Стойност Response.AppendToLog

Настроики:

  • смисъл- Текст, който да бъде добавен към отчетния файл на уеб сървъра. Този низ не може да съдържа знака запетая (,). Освен това общата дължина на добавения ред не трябва да надвишава 80 знака.

бележки:

За да използвате тази функция, трябва да имате активирана опцията URI заявка в панела „Разширени свойства за регистриране“ за този уеб сървър в IIS.

Метод Response.BinaryWrite

Методът BinaryWrite ви позволява да запишете посочената информация в текущия HTTP изход без преобразуване на знаци. Този метод е полезен за показване на информация без низ, като например двоични данни, изисквани от приложение.

Response.BinaryWrite данни

Настроики:

  • данни- Данни, предназначени за HTTP изход.

Ако имате обект, който произвежда масив от байтове, можете да използвате следното извикване на този метод, за да предадете този масив на някакво приложение, работещо на клиентската машина.

<% Set BinGen = Server.CreateObject(My.BinaryGenerator) Pict = BinGen.MakePicture Response.BinaryWrite Pict %>

Отговор. Изчистен метод

Методът Clear изчиства целия буфериран HTML изход. Този метод обаче не изчиства информацията за заглавката от буфера. Можете да използвате този метод за управление на грешки. Този метод обаче ще доведе до грешка, ако свойството Response.Buffer не е истина.

Response.CacheControl свойство

Това свойство отменя стойността по подразбиране. Когато зададете свойството на Public, прокси сървърът може да кешира изхода, генериран от ASP.

Response.CacheControl [= заглавка за контрол на кеша]

Настроики:

  • Заглавка за управление на кеша- Тази опция за контрол на заглавието може да бъде публична или частна.

Response.CharSet свойство

Свойството CharSet ви позволява да добавите името на таблицата с кодови символи (например WINDOWS-1251) към HTML заглавката, низа от тип съдържание (тип съдържание).

Response.CharSet codetable_name

Настроики:

  • име на кодова таблица- Низ, който определя кодовата таблица за дадена HTML страница. Името на тази кодова таблица ще бъде добавено към заглавката на HTML файла под параметъра "content-type".

За ASP страница, която не използва свойството Response.Charset, параметърът "content-type" в заглавката ще бъде:

тип съдържание: текст/html

Ако ASP файлът съдържа командата

<%Response.Charset("Windows-1251")%>

тогава в заглавката полето тип съдържание ще изглежда така

тип съдържание: текст/html; charset=Windows-1251

коментар:

Тази функция вмъква произволен низ в заглавката и не проверява дали е правилен.

Ако страницата съдържа няколко маркера Response.Charset, тогава всеки следващ маркер ще замени стойността със своя собствена.

Response.ContentType свойство

Свойството ContentType ви позволява да зададете типа (типа) на съдържанието на HTML файла. Ако това свойство не се използва, по подразбиране е text/html.

Response.ContentType [=content_type]

Настроики:

  • Тип съдържание- Низ, описващ типа HTML съдържание. Този низ обикновено е от формата "тип/подтип", където типът е основната категория съдържание, а подтипът определя типа съдържание. За получаване пълен списъкподдържани типове - вижте документацията на вашия браузър или спецификацията на HHTP.

Следващият пример илюстрира задаването на типа съдържание на Формат на дефиниция на канал (Push Channels).

<% Response.ContentType = "application/x-cdf" %>

Вторият пример демонстрира задаване на свойството на най-често известните стойности.

<% Response.ContentType = "text/HTML" %> <% Response.ContentType = "image/GIF" %> <% Response.ContentType = "image/JPEG" %>

Response.Expires свойство

Свойството Expires определя времето до HTML страницакеширан от браузъра се счита за неизтекъл (период на задържане). Ако потребител поиска кеширана страница от браузър, който не е изтекъл, браузърът я връща директно от своя кеш.

Отговор. Изтича [=номер]

Настроики:

  • номер– Времето в минути преди дадена страница да се счита за „просрочена“. Задаване на тази стойност на 0 причини тази страницаведнага става "просрочена".

коментар:

Ако това свойство е зададено повече от веднъж на страница, тогава се използва най-малката стойност.

Response.ExpiresAbsolute свойство

Свойството ExpiresAbsolute посочва часа и датата, след които HTML страница, кеширана от браузъра, се счита за изтекла (изтекла). Ако потребител поиска кеширана страница от браузър, който не е изтекъл, браузърът я връща директно от своя кеш. Ако е посочен час (и е посочена дата), тогава "периодът на задържане" на страницата изтича в полунощ на този ден. Ако не са посочени нито час, нито дата, тогава стойността се присвоява според деня и часа на изпълнение на скрипта.

Response.ExpiresAbsolute [= [дата] [час]]

Настроики:

  • датата- Посочва датата на изтичане на "периода на задържане". Форматът на датата трябва да отговаря на стандарта RFC-1123.
  • време- Посочва времето, когато страницата изтича "период на задържане". Тази стойност се преобразува във формат GMT (средно време по Гринуич), преди заглавката да бъде изпратена на клиента.

коментар:

Ако това свойство е посочено повече от веднъж на страница, тогава се приема, че времето на изтичане на "периода на задържане" е най-бързото от всички посочени стойности.

<% Response.ExpiresAbsolute = #May 31,1998 13:30:15# %>

Response.IsClientConnected свойство

Това свойство е стойност само за четене, което означава, че не могат да бъдат присвоени стойности на това свойство. Това свойство показва дали клиентът е свързан или не вече е свързан със сървъра, както е дефинирано в последния от Response.Write.

Response.IsClientConnected()

коментар:

Това свойство ви позволява да определите кога потребителят е свързан и кога е изключен от сървъра. Например, продължителността на времето между отговора на сървъра и момента, в който клиентът е направил заявка, дава увереност, че клиентът все още е свързан и има смисъл да продължите да изпълнявате скрипта.

<% "посмотрим, подключен ли пользователь If Not Response.IsClientConnected Then "получаем номер сессии и закрываем сессию Shutdownid = Session.SessionID "подготовка к закрытию сессии Shutdown(Shutdownid) End If %>

Response.Pics свойство

Това свойство ви позволява да добавите стойността на полето pics-label към заглавката на отговора.

Response.PICS(PICSLabel)

Настроики

  • Етикет за снимки- Низ, който е преобразуван във формат PICS - етикет. Стойността, посочена в този параметър, се добавя към заглавката на отговора в полето PICS.

За ASP файл, включващ:

<% Response.PICS("(PICS-1.1 етикети на " & chr(34) & "1997.01.05T08:15-0500" до "1999.12.31T23:59-0000" оценки (v 0 s 010 n 0))%>

Следващата заглавка ще бъде генерирана

PICS-етикет:(PICS-1.1 етикети на "1997.01.05T08:15-0500" до "1999.12.31.T23:59-0000" рейтинг (v 0 s 0 1 0 n 0))

коментар:

Това свойство ви позволява да вмъквате всякакви редове в заглавката, независимо дали редовете са валидни.

Ако страницата съдържа много тагове, съдържащи Response.PICS, тогава всеки следващ ще замени стойността на предишния.

Response.Status свойство

Това свойство ви позволява да посочите низа на състоянието, върнат от сървъра. Стойностите на състоянието са дефинирани в HTTP спецификацията.

Response.Status = описание_състояние

Настроики

  • описание_състояние- Низ, който съдържа както трицифрено число, което показва кода на състоянието, така и кратко описание на този код. Например, 310 Move Permanently.

Следният пример показва настройката на състоянието:

<% Response.Status = "401 Unauthorized" %>

коментар:

Използвайте това свойство, за да промените низа, върнат от сървъра.

За да получите екземпляр на този клас, използвайте извикването на метода wa()->getResponse(), например:

Wa()->getResponse()->getHeader("Content-type")

Методи

обществена функция добавете CSS ($url, $app_id = невярно)

Добавя URL към списъка с CSS файлове. Всички добавени URL адреси на CSS файлове могат да бъдат извлечени в шаблона Smarty с помощта на метода ($wa->css()).

Настроики

  • $url

    Относителният URL адрес на CSS файла. Ако стойността на параметъра $app_id е посочена, тогава URL адресът на файла трябва да бъде посочен спрямо URL адреса на директорията с файловете на съответното приложение. В противен случай относителният URL адрес трябва да е относителен към директорията за инсталиране на рамката.

  • $app_id

    Идентификатор на приложението.

Пример

wa()->getResponse()->addCss("css/myapp.css", "myapp");

обществена функция добавете Google Analytics ($str)

Добавя фрагмент на JavaScript за Google Анализ. Кодът на Google Анализ (включително добавения от този метод) е включен в HTML шаблона на сайта с помощта на метода ($wa->headJs()).

Настроики

  • $str

    Фрагмент от JavaScript код.

обществена функция addHeader ($name, $value, $replace = true)

Добавя заглавка, която ще бъде изпратена от сървъра в отговор на потребителска заявка. Всички добавени по този начин заглавки ще бъдат изпратени на потребителя при изпълнение на .

Настроики

  • $name

    Име на заглавието.

  • $value

    Стойност на заглавието.

  • $замени

    Флаг, показващ, че предварително зададената стойност за посочения заглавка трябва да бъде заменена.

Пример

wa()->getResponse()->addHeader("Content-type", "application/json");

обществена функция addJs ($url, $app_id = невярно)

Добавя URL към списъка с файлове на JavaScript. Всички добавени JavaScript URL адреси могат да бъдат извлечени в шаблона Smarty с помощта на метода ($wa->js()).

Настроики

  • $url

    URL адресът на JavaScript файла. Ако стойността на параметъра $app_id е посочена, тогава URL адресът на файла трябва да бъде посочен спрямо URL адреса на директорията с файловете на съответното приложение. В противен случай относителният URL адрес трябва да е относителен към директорията за инсталиране на рамката.

  • $app_id

    Идентификатор на приложението.

Пример

wa()->getResponse()->addJs("js/myapp.js", "myapp");

обществена функция getCss ($html = вярно, $strict = невярно)

Връща списък с по-рано добавени връзки към CSS файлове.

Настроики

  • $html

    Флаг, указващ необходимостта от връщане на HTML кода за свързване на CSS файлове. Ако е посочено false, методът връща масив от URL адресите на такива файлове.

  • $строго

    Флаг, за да посочите, че форматът XHTML се използва вместо HTML, когато $html е настроен на true .

Пример

wa()->getResponse()->getCss();

обществена функция getHeader ($name = нула)

Връща стойността на заглавката на отговора.

Настроики

  • $name

    Идентификаторът на заглавката, чиято стойност трябва да бъде върната. Ако не е посочено, методът връща целия текущ масив от заглавки.

Пример

wa()->getResponse()->addHeader("Content-type", "application/json"); wa()->getResponse()->getHeader("Content-type");

Резултат

приложение/json

обществена функция getJs ($html = вярно)

Връща списък с препратки към файла с отговори на JavaScript.

Настроики

  • $html

    Незадължителен флаг, указващ необходимостта от връщане на HTML кода за свързване на JavaScript файлове. В противен случай методът връща текущия масив от URL адреси на файлове.

Пример

wa()->getResponse()->getJs();

обществена функция getMeta ($name = нула)

Връща съдържанието на META данните: заглавие на страницата ("заглавие"), МЕТА тагове, ключови думи ("ключови думи"), описание ("описание").

Настроики

  • $name

    Идентификаторът на META елемента от данни, чиято стойност трябва да бъде върната. Ако не е посочено, методът връща целия текущ масив от META данни.

Пример

wa()->getResponse()->getMeta("ключови думи");

обществена функция getStatus()

Връща предварително зададеното състояние на отговора на сървъра.

Пример

wa()->getResponse()->setStatus(200); wa()->getResponse()->getStatus();

Резултат

200

обществена функция getTitle()

Връща заглавието (TITLE) на страницата.

Пример

wa()->getResponse()->setTitle("Моят онлайн магазин"); wa()->getResponse()->getTitle();

Резултат

Моят онлайн магазин

обществена функция пренасочване ($url, $code = нула)

Пренасочва потребителя към посочения URL адрес.

Настроики

  • $url

    URL адресът, към който трябва да бъде пренасочен потребителят.

  • $code

    Кодът за отговор на сървъра, който трябва да придружава пренасочването.

Пример

wa()->getResponse()->redirect("http://otherdomain.ru/", 301);

обществена функция sendHeaders()

Изпраща предварително зададени заглавки.

Пример

wa()->getResponse()->addHeader("Content-type", "application/json"); wa()->getResponse()->sendHeaders();

обществена функция setCookie ($name, $value, $expire = null, $path = null, $domain = "", $secure = false, $http_only = false)

Задава стойността на запис на бисквитка с помощта на функцията setcookie PHP.

Настроики

  • $name

    ID на записа.

  • $value

    Стойността на записа.

  • $expire

    Срок на годност.

  • $пътека

    Пътят към "поддиректорията" на URI, в който стойността на записа е валидна.

  • $domain

    Името на домейна, за което е валидна стойността на записа.

  • $сигурен

    Флаг, показващ, че записът е достъпен само ако стойността се предава чрез HTTPS протокола.

  • $http_only

    Флаг, който показва, че стойността на записа е достъпна само чрез HTTP протокола и не е достъпна чрез клиентски скриптове (JavaScript).

Пример

wa()->getResponse()->setCookie("code", $code, time() + 30 * 86400, null, "", false, true);

обществена функция setMeta ($name, $value = нула)

Задава стойността на МЕТА данните. Тази стойност е налична в шаблоните на Smarty, използвайки метода ($wa->meta()).

Настроики

  • $name

    Идентификатор на META елемент от данни: заглавие на страницата („заглавие“), ключови думи на META тагове („ключови думи“) и описание („описание“).

  • $value

    Стойността на елемента.

Пример

wa()->getResponse()->setMeta("ключови думи", $keywords);

обществена функция setStatus ($code)

Задава състоянието на отговора на сървъра.

Настроики

  • $code

    Код на състоянието

Пример

wa()->getResponse()->setStatus(404);

обществена функция setTitle ($title)

Задава заглавието (TITLE) на страницата. Съдържанието на заглавието е достъпно в шаблони на Smarty с помощта на метода ($wa->title()).

След като получи и интерпретира съобщение за заявка, сървърът отговаря с HTTP съобщение за отговор:

  • Линия на състоянието
  • Нула или повече полета за заглавие (Общ|Отговор|Обект), последвано от CRLF
  • Празен ред (т.е. ред без нищо пред CRLF), указващ края на полетата на заглавката
  • По избор тяло на съобщение
  • Следващите раздели обясняват всеки един от обектите, използвани в съобщение за HTTP отговор.

    Ред за състояние на съобщението

    Редът на състоянието се състои от версията на протокола, последвана от цифров код на състоянието и свързаната с него текстова фраза. Елементите са разделени с интервал SP символи.

Ред за състояние = HTTP-версия SP Код на състоянието SP Причина-фраза CRLF

HTTP версия

Сървър, поддържащ HTTP версия 1.1, ще върне следната информация за версията:

HTTP-Версия=HTTP/1.1

код на състоянието

Елементът Status-Code е 3-цифрено цяло число, където първата цифра на Status-Code дефинира класа на отговора, а последните две цифри нямат никаква роля за категоризиране. Има 5 стойности за първата цифра:

С.Н. Код и описание
1 1xx: Информационен

Това означава, че заявката е получена и процесът продължава.

2 2xx: Успех

Това означава, че действието е било успешно прието, разбрано и прието.

3 3xx: Пренасочване

Това означава, че трябва да се предприемат допълнителни действия, за да се завърши заявката.

4 4xx: Клиентска грешка

Това означава, че заявката съдържа неправилен синтаксис или не може да бъде изпълнена.

5 5xx: Грешка в сървъра

Това означава, че сървърът не е успял да изпълни очевидно валидна заявка.

HTTP кодовете за състояние са разширяеми и HTTP приложенията не се изискват, за да разберат значението на всички регистрирани кодове на състоянието. Списък с всички кодове на състоянието е даден в отделна глава за справка.

Полета на заглавката на отговора

Ще изучаваме General-header и Entity-header в отделна глава, когато ще научим HTTP заглавни полета. Засега нека проверим какви са полетата на заглавката на отговора.

Полетата на заглавката на отговора позволяват на сървъра да предаде допълнителна информация за отговора, която не може да бъде поставена в реда на състоянието. Тези заглавни полета дават информация за сървъра и за по-нататъшен достъп до ресурса, идентифициран от Request-URI.

  • Прокси удостоверяване

  • WWW-Удостоверяване

Можете да въведете вашите персонализирани полета, в случай че ще напишете свой собствен персонализиран уеб клиент и сървър.

Примери за съобщение за отговор

Сега нека го съберем, за да образуваме HTTP отговор за заявка за извличане на hello.htmстраница от уеб сървъра, работещ на уебсайта

HTTP/1.1 200 OK Дата: пн, 27 юли 2009 г. 12:28:53 GMT Сървър: Apache/2.2.14 (Win32) Последна промяна: сряда, 22 юли 2009 г., 19:15:56 GMT Дължина на съдържанието: 88 съдържание- Тип: text/html Връзка: затворена

Здравей свят!



Следният пример показва съобщение за HTTP отговор, показващо състояние за грешка, когато уеб сървърът не може да намери исканата страница:

HTTP/1.1 404 Not Found Дата: нд, 18 октомври 2012 г. 10:36:20 GMT Сървър: Apache/2.2.14 (Win32) Content-Length: 230 Връзка: затворен тип на съдържанието: text/html; charset=iso-8859-1 404 Страницата не е намерена

не е намерен

Исканият URL адрес /t.html не беше намерен на този сървър.



Следва пример за съобщение за HTTP отговор, показващо състояние на грешка, когато уеб сървърът е срещнал грешна HTTP версия в дадената HTTP заявка:

HTTP/1.1 400 Лоша дата на заявка: нд, 18 октомври 2012 г. 10:36:20 GMT Сървър: Apache/2.2.14 (Win32) Content-Length: 230 Content-Type: text/html; charset=iso-8859-1 400 Лоша заявка

Неправилна заявка

Вашият браузър изпрати заявка, която този сървър не може да разбере.

Редът за заявка съдържаше невалидни знаци след низа на протокола.





Зареждане...
Горна част