HTTP
Пожалуй, самый востребованный из протоколов, с которым ежедневно работают десятки миллионов пользователей Интернета по всем миру.
Протокол HTTP (HyperText Transfer Protocol) разрабатывался специально для получения и передачи данных по Интернету. Он работает по технологии «клиент – сервер», которая подразумевает, что есть клиенты, запрашивающие информацию, и есть сервер, который эти запросы обрабатывает и отсылает ответ. Примером работы данного протокола является просмотр веб-страницы в браузере: в этом случае браузер выполняет роль клиента, а компьютер, на котором находится вебстраница, – роль сервера.
HTTP работает на уровне приложений. Это означает, что данный протокол должен пользоваться услугами транспортного протокола, в качестве которого по умолчанию выступает протокол TCP.
Первая версия протокола HTTP была разработана еще в начале 90-х годов прошлого века и на то время полностью удовлетворяла пользователей своими возможностями. Но со временем, когда в Интернет пришла графика и динамика, возможностей протокола перестало хватать и он постепенно начал изменяться в лучшую сторону.
В своей работе протокол использует понятие URI (Uniform Resource Identifier) – уникального идентификатора ресурса, в качестве которого обычно выступает адрес веб-страницы, файла или любого другого логического объекта. При этом URI поддерживает работу с параметрами, что позволяет расширять функциональность протокола. Так, используя параметры, можно указать, в каком формате и кодировке вы хотите получить ответ от сервера. Это в свою очередь позволяет передавать с помощью HTTP не только текстовые документы, но и любые двоичные данные.
Основным недостатком протокола HTTP является избыточный объем текстовой информации, необходимой для того, чтобы клиент мог правильно отобразить полученный от сервера ответ. При большом объеме содержимого веб-страницы это может создавать излишне большой трафик, что уменьшает скорость отображения полезного содержимого. Кроме того, протокол полностью лишен каких-либо механизмов сохранения состояния, что делает невозможной навигацию по веб-страницам посредством одного лишь HTTP-протокола. Для устранения этого неудобства можно использовать вместе с HTTP сторонние протоколы или же работать с браузером, имеющим продвинутые методы обработки HTTP-запросов.
FTP
Протокол FTP (File Transfer Protocol) является «родным братом» протокола HTTP, только в отличие от последнего он работает не с текстовыми или двоичными данными, а с файлами.
Этот протокол – один из старейших: он появился еще в начале 70-х годов прошлого века. Как и HTTP, он работает на прикладном уровне и в качестве транспортного протокола использует TCP-протокол.