HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Разобравшись с get запросом, пора переходить к post и передаче данных на сервер. Для начала познакомимся с методом request модуля http. Ниже пример обычного GET запроса, который мы делали с помощью http.get:</p>
1 <p>Разобравшись с get запросом, пора переходить к post и передаче данных на сервер. Для начала познакомимся с методом request модуля http. Ниже пример обычного GET запроса, который мы делали с помощью http.get:</p>
2 <p>На самом деле, http.get - это обертка над http.request, которая выполняет req.end автоматически. Ее добавили в модуль http только потому, что это очень частый вариант использования. Другими словами, http.request - универсальный способ делать http запросы. Для выполнения любого запроса, нужно лишь правильно подставить глагол в опцию method, будь то хоть POST, хоть HEAD.</p>
2 <p>На самом деле, http.get - это обертка над http.request, которая выполняет req.end автоматически. Ее добавили в модуль http только потому, что это очень частый вариант использования. Другими словами, http.request - универсальный способ делать http запросы. Для выполнения любого запроса, нужно лишь правильно подставить глагол в опцию method, будь то хоть POST, хоть HEAD.</p>
3 <p>Следующий аспект это заголовок Content-Length. Как вы помните из курса http, этот заголовок обязателен при наличии тела запроса. Он содержит цифру - количество байт в теле запроса. Так как данные формы обычно отправляют, используя тип application/x-www-form-urlencoded, то перед подсчетом размера тела его нужно сначала сформировать, выполнив правильные преобразования.</p>
3 <p>Следующий аспект это заголовок Content-Length. Как вы помните из курса http, этот заголовок обязателен при наличии тела запроса. Он содержит цифру - количество байт в теле запроса. Так как данные формы обычно отправляют, используя тип application/x-www-form-urlencoded, то перед подсчетом размера тела его нужно сначала сформировать, выполнив правильные преобразования.</p>
4 <p>Рекомендуется всегда использовать такой способ определения размера тела запроса, потому что он считает количество байт, в отличие от length, который считает количество символов в текстовом представлении. Различия будут проявляться при использовании символов, не входящих в ASCII.</p>
4 <p>Рекомендуется всегда использовать такой способ определения размера тела запроса, потому что он считает количество байт, в отличие от length, который считает количество символов в текстовом представлении. Различия будут проявляться при использовании символов, не входящих в ASCII.</p>
5 <p>Теперь можно собрать все вместе и выполнить post запрос с передачей данных формы:</p>
5 <p>Теперь можно собрать все вместе и выполнить post запрос с передачей данных формы:</p>
6 <p>Данные отправляются с помощью метода write объекта request. Часто можно упростить отправку до вызова req.end(postData). Метод write больше полезен тогда, когда используется отправка с помощью чанков, например, в случае передачи больших бинарных данных (картинки, видео).</p>
6 <p>Данные отправляются с помощью метода write объекта request. Часто можно упростить отправку до вызова req.end(postData). Метод write больше полезен тогда, когда используется отправка с помощью чанков, например, в случае передачи больших бинарных данных (картинки, видео).</p>