Суть протокола HTTP - PullRequest
       1

Суть протокола HTTP

2 голосов
/ 28 февраля 2012

Слишком много подробностей о протоколе HTTP.Но по сути, это не что иное, как строка символов ASCII, передаваемых по протоколу TCP. И эта строка определяет семантику протокола.Прав ли я в этом?

Если да, то следует 2 вопроса:

  1. Можем ли мы разработать какие-либо протоколы так, как мы хотим, потому что это выглядит как передача строк через Интернет.
  2. Почему мы не сжимаем строки HTTP, прежде чем передать их на уровень TCP?

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012

Правильно, HTTP ни в коем случае не является особенным, но поскольку он лежит в основе Интернета, ему уделяется много внимания.Это протокол прикладного уровня, такой как SMTP или FTP или любой другой.

  1. Да, вы можете разработать любой протокол, который вам нравится.Для развлечения возьмите RFC для SMTP, FTP или HTTP, подключитесь к своему собственному серверу и изучите протокол.RFC2324 также требует чтения - http://www.faqs.org/rfcs/rfc2324.html
  2. В последние годы много говорилось об отсутствии сжатия HTTP-заголовков.Смотрите блог / книги Стива Соудерса, YSlow!и сайты Google Page Speed.Протокол SPDY, вероятно, станет лидером в решении ряда текущих проблем с управлением HTTP-соединением, производительностью и безопасностью - http://www.chromium.org/spdy/spdy-whitepaper
2 голосов
/ 28 февраля 2012
  1. Конечно.Но вам придется заставить других принять ваш протокол (если это не внутренняя / частная спецификация).И если вы можете связно выразить свое коммюнике в форме HTTP, почему бы не использовать его?Он широко реализован практически на каждом языке и в любой операционной системе, хорошо понят и легко отлажен.Не просто создавать протоколы для этого.
  2. Спецификация HTTP предусматривает несколько распространенных схем сжатия .gzip и deflate особенно широко используются.Смотрите, например, Apache mod_gzip и mod_deflate.Клиенты и серверы обычно договариваются о сжатии от вашего имени.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...