добавить
ссылку в
Email
Fb
подписка
RSS
Twitter
Email
Fb

HTTP

Что такое «HTTP»?

Протокол передачи данных, изначально созданный для передачи гипертекста. Основой этого пртокола является технология "клиент-сервер", в которой клиент посылает запрос серверу, а тот , в свою очередь, возвращает результат обработки запроса клиенту.

Для инициирования обмена данными клиент отправляет серверу URI (Uniform Resource Identifier), в ответ на который сервер вернет клиенту ресурс, на который ссылается данный URI. В качестве возвращаемого объекта может выступать как файл, физически расположенный на сервере, так и нечно абстрактное, например, поток данных, генерируемый скриптом. Возможность указать в запросе ряд параметров приема-передачи данных (язык, кодировка, формат данных) делает протокол HTTP по-настоящему гибким и эффективным не только для передачи текстовых данных (для передачи которых он, собственно, и проектировался), но и для обмена двоичными данными.

Достоинства HTTP

  • Простота. Для создания клиентского приложения, достаточно обладать минимальными знаниями по этому протоколу;
  • Популярность. Этот протокол поддерживается абсолютным большинством хостинговых компаний и имеет огромное количество документации;
  • Возможность расширения. HTTP позволят добавлять свои собственные заголовки для обмена между клиентом и сервером. При этом сохраняется полная совместимость с другими клиентами, так как, неизвестные клиенту заголовки, он будет игнорировать.

Недостатки HTTP

  • Неприспособленность к большим вычислениям. HTTP разрабатывался с учетом того, что время обработки запроса будет ничтожно мало. Но. например, в промышленности есть необходимость в распределенных вычислениях, к которым HTTP просто не готов. В настоящее время, предпринимаются шаги для решения этой проблемы, в частности предложен проект протокола HTTP-NG (HTTP Next Generation), в котором сделан акцент именно на области распределенных вычислений;
  • Отсутствие средств для управления ресурсами. При использовании HTTP, в отличии от FTP, нельзя, например, запросить список ресурсов, доступных на сервере, поскольку HTTP предполагает, что клиент уже знает URI запрашиваемого объекта. Такое предположение вполне естественно, если вспомнить, что изначатьно HTTP проектировался исключительно для передачи гипертекста и навигация осуществлялась посредством кликов по гиперссылкам и, соответственно, запросу у сервера объекта с вполне конкретным URI. Но бывают задачи в которых необходимо, например, получить список файлов доступных на сервере, в конкретной директории. В настоящее время решение этой задачи, целиком и полностью лежит на разработчиках клиентского ПО;
  • Большой размер запросов. Этот недостаток также является следствием текстового прошлого HTTP. Для его решения, в настоящее время используется встроенная в протокол возможность кеширования данных на стороне клиента, а также возможность компрессии передаваемых данных. В ряде случаев, может быть применено дельта-кодирование, при использовании которого, клиенту передается не весь документ, а только его часть, которая была изменена.
Похожие статьи
сервер  http  протокол