HTTP съобщения

HTTP съобщенията са начинът, по който се обменят данни между сървър и клиент. Има два типа съобщения: заявка, изпратена от клиента за стартиране на действие от сървъра (request) и отговор от сървъра (response).

HTTP съобщенията са съставени от текстова информация, кодирана в ASCII, и са разположени в последователност от редове. В HTTP/1.1 и по-ранните версии на протокола тези съобщения се изпращат открито през връзката. В HTTP/2 съобщението, което някога е било четимо от човека, сега е разделено в HTTP фреймове, осигурявайки оптимизация и подобрения в производителността.

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

· Начален ред (start line), описващ заявката, която трябва да бъде изпълнена, или статус за успех или неуспех по отношение на получени отговор. Тази начална линия винаги е разположена на един ред.

· Опционален набор от HTTP хедъри, уточняващи заявката или описващи тялото, включено в съобщението.

· Празен ред, указващ, че цялата метаинформация на заявката е изпратена.

· Незадължително тяло, съдържащо данни, свързани със заявката (като съдържание на HTML формуляр), или документа, свързан с отговора. Наличието на тялото и неговият размер се определят от началния ред и HTTP заглавките.

Началният ред и хедърите на съобщението са общо известни като head на заявката, докато неговият payload е известен като body.

Структура на заявка

Заявките се състоят от следните елементи:

· HTTP метод, обикновено глагол като GET, POST или съществително като OPTIONS или HEAD, който дефинира операцията, която клиентът иска да изпълни. Обикновено клиентът иска да извлече ресурс (чрез GET) или да публикува данни от HTML формуляр (чрез POST).

· Пътят на ресурса за извличане; URL адресът на ресурса, лишен от елементи, които са очевидни от контекста, например без протокола (http://), домейна (тук developer.mozilla.org), или TCP порта (тук 80).

· Версията на HTTP протокола.

· Незадължителни хедъри, които предават допълнителна информация за сървърите.

· Тяло за някои методи като POST, които съдържат изпратения ресурс.

Структура на отговор

Отговорите се състоят от следните елементи:

· Версията на HTTP протокола, който следват.

· Код на състоянието, показващ дали заявката е била успешна или не и защо.

· Съобщение за състояние, кратко описание на кода за състояние.

· HTTP хедъри, подобни на тези на заявките.

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

Last updated