Всичко, което трябва да знаете за HTTP
HTTP (Hypertext Transfer Protocol) предоставя стандартен мрежов протокол, който уеб браузърите и сървърите използват за комуникация. Това е лесно да се разпознае при посещение на уебсайт, защото е написано точно в URL адреса (напр. Http: // www. ).
Този протокол е подобен на други като FTP, тъй като се използва от клиентска програма за заявяване на файлове от отдалечен сървър. В случая на HTTP, обикновено той е уеб браузър, който изисква HTML файлове от уеб сървър, които след това се показват в браузъра с текст, изображения, хипервръзки и т.н.
HTTP е това, което се нарича "система без държава". Това означава, че за разлика от други протоколи за прехвърляне на файлове, като FTP , HTTP връзката се премахва, след като заявката бъде направена. Така че, след като уеб браузърът ви изпрати заявката и сървърът отговори със страницата, връзката е затворена.
Тъй като повечето уеб браузери по подразбиране са HTTP, можете да въведете само името на домейна и да накарате браузъра да запълни автоматично частта "http: //".
История на HTTP
Тим Бърнърс-Лий е създал първоначалния HTTP в началото на 90-те години на миналия век, като част от работата си при определянето на оригиналната World Wide Web . През 1990-те години бяха широко разпространени три първични версии:
- HTTP 0.9 (за поддръжка на основни хипертекстови документи)
- HTTP 1.0 (разширения за поддръжка на богати уеб сайтове и скалируемост)
- HTTP 1.1 (разработен, за да отговори на ограниченията на производителността на HTTP 1.0, посочени в Internet RFC 2068)
Най-новата версия HTTP 2.0 стана одобрен стандарт през 2015 г. Тя поддържа обратната съвместимост с HTTP 1.1, но предлага допълнителни подобрения на производителността.
Докато стандартният HTTP не криптира трафика, изпратен по мрежата, стандартът HTTPS е разработен, за да добави шифроване към HTTP чрез използването на (първоначално) Secure Sockets Layer (SSL) или (по-късно) TLS (Transport Layer Security).
Как работи HTTP
HTTP е протокол на слой за приложения, изграден върху TCP, който използва комуникационен модел клиент-сървър . HTTP клиентите и сървърите комуникират чрез HTTP заявки и отговори. Трите основни вида HTTP съобщения са GET, POST и HEAD.
- Съобщенията HTTP GET, изпратени на сървър, съдържат само URL адрес . В края на URL адреса могат да се добавят нула или повече незадължителни параметри на данните. Сървърът обработва незадължителната част от URL адреса, ако има такава, и връща резултата (уеб страница или елемент на уеб страница) в браузъра.
- HTTP POST съобщават незадължителните параметри на данните в тялото на съобщението за заявка, вместо да ги добавят в края на URL адреса.
- Заявката за HTTP HEAD работи по същия начин като заявките за GET. Вместо да отговаря с пълното съдържание на URL адреса, сървърът изпраща само информацията за заглавката (съдържаща се в секцията HTML).
Браузърът инициира комуникация с HTTP сървър, като инициира TCP връзка към сървъра. В сесиите за сърфиране в мрежата се използва сървър порт 80 по подразбиране, въпреки че понякога се използват други портове като 8080.
След като бъде създадена сесия, потребителят задейства изпращането и получаването на HTTP съобщения, като посети уеб страницата.
Проблеми с HTTP
Съобщенията, предавани през HTTP, не могат успешно да бъдат доставени по няколко причини:
- потребителска грешка
- неизправност на уеб браузъра или уеб сървъра
- грешки при създаването на уеб страници
- временни проблеми в мрежата
Когато възникнат такива пропуски, протоколът улавя причината за неизправността (ако е възможно) и съобщава код за грешка обратно в браузъра, наречен HTTP статус ред / код . Грешките започват с определен брой, за да се посочи каква е грешката.
Например, грешките 4хх показват, че заявката за страницата не може да бъде изпълнена правилно или че заявката съдържа неправилен синтаксис . Като пример 404 грешки означава, че страницата не може да бъде намерена; някои сайтове дори имат някои забавни персонализирани 404 страници за грешки .