С помощью команды nc
на сервере webarch.cs.prv
создаем
слушающий сокет на заданном порту. Данные для отправки клиенту
принимаются со стандартного ввода:
$ nc -l <port>
http://webarch.cs.prv:<port>
.
Команда nc
выводит HTTP-запрос, отправленный браузером:
GET / HTTP/1.1 Host: webarch.cs.prv:8072 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive
Введите (скопируйте) в стандартный ввод команды nc
HTTP-ответ,
содержащий простой HTML-документ.
HTTP/1.1 200 OK Server: Humankind Content-Type: text/html <h1>Attention please!</h1><p>This page was dictated to the user agent by the humankind.</p>
В ответ на первый запрос от браузера отдадим HTML-документ, содержащий ссылку на таблицу стилей:
HTTP/1.1 200 OK Server: Humankind Content-Type: text/html Content-Length: 100 Connection: keep-alive <link rel="stylesheet" type="text/css" href="test.css"> <p>This is a document with a stylesheet.</p>
В заголовке HTTP-ответа указываем длину ответа (заголовок
Content-Length
) и сообщаем, что соединение не будет прервано
после отдачи содержимого (заголовок Connection
).
В ответ на запрос таблицы стиля отдадим CSS-файл:
HTTP/1.1 200 OK Server: Humankind Content-Type: text/css Content-Length: 23 Connection: close body {background: red;}
С помощью заголовка Connection
сообщаем клиенту, что больше в
рамках этого соединения ничего передаваться не будет.