3.1 Общий вид http-сообщения

Каждый http-запрос (запрос по протоколу http) имеет определенную структуру. А самое лучшее — это то, что он представляет из себя текстовый файл, вполне читабельный даже для неподготовленного человека.

Сообщение состоит из трех частей. Первой строкой идет так называемая starting line, которая и определяет тип сообщения. Затем идут параметры, которые еще называют заголовками, headers. Ну и в самом конце идет тело сообщения.

И как же определить, где закончились заголовки и началось тело сообщения? А тут все просто: заголовки и тело сообщения разделены пустой строкой. Вот как только увидели пустую строку в http-сообщении, так сразу после нее тело сообщения и идет.

3.2 Starting line

Вид стартовой строки стандартизирован и задается шаблоном:

Метод URI HTTP/Версия

Для лучшего понимания приведем несколько примеров. Персональная страница пользователя JavaRush отдается по ссылке https://javarush.com/me

GET/me HTTP/1.0
Host: javarush.com

В качестве ответа сервер скорее всего пришлет:

HTTP/1.0 200 OK
текст страницы…

3.3 Headers

Заголовки называются заголовками, так как они идут во главе http-сообщения. Возможно, более правильно было бы называть их служебными параметрами. Они нужны для того, чтобы http-клиент и http-сервер лучше понимали, как им общаться и как именно интерпретировать полученные данные.

Примеры таких заголовков:

Content-Type: text/html;charset=windows-1251
Allow: GET,HEAD,OPTIONS
Content-Length: 1984

Каждый заголовок представляет из себя пару имя-значение, которые отделяются двоеточием, прямо как в JSON. Более подробно мы разберём их в следующих лекциях.