If you're seeing this message, it means we're having trouble loading external resources on our website.

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

Протокол за прехвърляне на хипертекст (HTTP)

Всеки път, когато посетиш страница в мрежата, твоят компютър използва Протокола за прехвърляне на хипертекст (HTTP), за да изтегли тази страница от друг компютър някъде в интернет.
Нека преминем през този процес.

Стъпка 1: Насочване на браузъра към URL

Когато искаме да сърфираме в мрежата, можем да използваме много видове устройства (като например лаптопи, настолни компютри и телефони), стига на устройствата да има инсталирано браузър приложение.
Потребителят или въвежда унифициран ресурсен локатор (URL) в браузъра, или следва връзка от вече отворена страница:
Обърни внимание на нещо относно този URL: той започва с "http". Това е сигнал за браузъра, че трябва да използва HTTP, за да извлече документа за този URL адрес.
🔍 Какъв браузър използваш сега? Какъв е URL адресът на този уебсайт? С какво започва?

Стъпка 2: Браузърът търси IP адрес

Обикновено въвеждаме удобни за хората URL адреси в браузъри, като например "khanacademy.org" и "wikipedia.org". Тези имена на домейни се съпоставят с IP адреси, истинското местоположение на компютрите на домейна. Това се обработва от Система за имена на домейни DNS.
Браузърът използва DNS указател, за да съпостави домейн към IP адрес:

Стъпка 3: Браузърът изпраща HTTP заявка

След като браузърът идентифицира IP адреса на компютъра, който обслужва искания URL (хост сървър), той изпраща HTTP заявка.
HTTP заявката може да бъде много кратка, колкото два реда текст:
GET /index.html HTTP/1.1
Host: www.example.com
Първата дума е HTTP глаголът: "GET" ("Вземи"). Има и други глаголи за други действия в мрежата, като например изпращане на данни от формуляр („POST“ ("Съобщи")).
Следващата част определя пътя: "/index.html". Обслужващият компютърът съхранява съдържанието на целия уебсайт, така че браузърът трябва да заяви конкретно коя страница иска да зареди.
Последната част на първия ред определя протокола и версията на протокола: "HTTP/1.1".
Вторият ред посочва домейна на искания URL адрес. Това е полезно, в случай че обслужващият компютър съхранява съдържанието за множество уебсайтове.

Стъпка 4: Сървърът изпраща обратно HTTP отговор

След като обслужващият сървър получи HTTP заявката, той изпраща обратно отговор със съдържанието и метаданните за него.
HTTP отговорът започва подобно на заявката:
HTTP/1.1 200 OK
Отговорът започва с протокола и версията, "HTTP/1.1".
Следващото число е много важният HTTP статус код и в този случай той е 200. Този код представлява успешно извличане на документа ("OK").
Ако сървърът не успее да извлече документа, статус кодовете предоставят повече информация, например дали грешката се дължи на потребителска грешка или грешка на сървъра. Например най-известният статус код е 404 ("Файлът не е намерен"). Това се случва всеки път, когато посетим път на сървър, който не съответства на нито един документ. Тъй като потребителите имат навика да въвеждат URL адреси неправилно, статус код 404 се случва често, затова уебсайтовете често имат забавни 404 уеб страници. Опитай да въведеш нищо не означаващ URL адрес на сайта на Кан Академия и виж какво ще се случи!
Следващата част от HTTP отговора са заглавките. Те дават на браузъра допълнителни подробности и му помагат да изведе съдържанието.
Тези две заглавки са общи за повечето заявки:
Content-Type (тип съдържание): text/html; charset=UTF-8
Content-Length (дължина на съдържанието): 208
Типът съдържание (content-type) казва на браузъра какъв тип документ се изпраща обратно. Често срещан тип в мрежата е "text/html", тъй като всички уеб страници са HTML текстови файлове. Възможни са и други типове, като например изображения ("image/png"), видеа ("video/mpeg"), програмен скрипт ("application/javascript") и всичко друго, което може да бъде заредено в браузъра.
Дължината на съдържанието (content-length) дава дължината на документа в байтове, което помага на браузъра да знае колко време ще отнеме изтеглянето на файл.
И накрая, HTTP отговорът изписва действително поискания документ. Тази страница е обикновен HTML файл:
<!DOCTYPE html>
<html>
  <head>
    <title>Примерен домейн</title>
  </head>
  <body>
    <h1>Примерен домейн</h1>
    <p>Целта на този домейн е да се използва за илюстративни примери в документи.</p>
  </body>
</html>
Ако искаш да разбереш как работи HTML в повече детайли, можеш да разгледаш нашия пълен курс по HTML/CSS.

Стъпка 5: Браузърът извежда отговора

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

Убеди се сам

Много браузъри включват инструменти за отстраняване на грешки, които позволяват преглеждане на HTTP заявки и техните отговори по време на сърфиране в мрежата.
Нека го видим в Chrome.
Първо трябва да отворим инструментите за разработчици на Chrome. Един от начините да направим това е да отворим менюто "Изглед" ("View") и след това да изберем "Разработчик" ("Developer") → "Инструменти за разработчици" ("Developer Tools"). След като този изскачащ прозорец се отвори, избираме раздела "Мрежа".
След това въвеждаме URL в лентата на браузъра, например "http://www.example.com/index.html". В конзолата се показва HTTP заявка и браузърът извежда страницата.
Можем да се поразровим в тази заявка, за да видим любопитните подробности. Щракни на "index.html" под колоната "Име" ("Name"). Изскача интерфейс с раздели и по подразбиране се показва раздел "Заглавки" ("Headers").
"Заглавките на отговора" включват заглавки, обсъдени по-горе, като „Content-Type“ (Тип съдържание) и „Content-Length“ (Дължина на съдържанието), плюс много други интересни заглавки.
Истинското HTML съдържание на отговора е друг раздел, "Отговор" ("Response").
🔍 Отвори раздел „Мрежа“ ("Network") и прегледай още уебсайтове. Колко HTTP заявки прави всеки уебсайт? Какви видове съдържание има в отговорите? Какво те изненадва най-много?

HTTP и TCP/IP

HTTP е протокол, който е изграден върху TCP/IP протоколите.
Всяка HTTP заявка е вътре в IP пакет и всеки HTTP отговор е вътре в друг IP пакет, или по-често, множество пакети, тъй като данните за отговор могат да бъдат доста големи.
Има много други протоколи, които са изградени върху TCP/IP, като например протоколи за изпращане на имейл (SMTP, POP, IMAP) и за качване на файлове (FTP).
Всички тези протоколи ни позволяват да използваме интернет, за да се свързваме с други компютри по полезни начини, както и да общуваме и да си сътрудничим на големи разстояния.
🙋🏽🙋🏻‍♀️🙋🏿‍♂️Имаш въпроси по тази тема? Ще се радваме да отговорим — само ни попитай, като използваш полето за въпроси по-долу!

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.