The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Реализация FastCGI на современном C++, opennews (??), 17-Май-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


40. "Реализация FastCGI на современном C++"  +4 +/
Сообщение от петькаваська (?), 17-Май-19, 15:48 
> Автор, начни с чтения вот этого https://stackoverflow.com/questions/213907/c-stdendl-vs-n
> что ли (это я мягко так намекаю про "нужность" дефайнов с
> crlf).
> Да и вообще код действительно выглядит как поделка, а использование С++17 в
> описании - лишь как маркетинговая уловка.

Этими дефайнами автор хочет, вероятно, привести код в соответствии протоколу HTTP, в котором перевод строки строго определён как "\r\n". Так что мат. часть, вероятно, надо учить как раз Вам.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

60. "Реализация FastCGI на современном C++"  +1 +/
Сообщение от Аноним (49), 17-Май-19, 17:14 
Что подвигло Тима Бернерса-Ли выбрать для перевода строки \r\n, он же ползовался NIX-like ОС?
Ответить | Правка | Наверх | Cообщить модератору

67. "Реализация FastCGI на современном C++"  +1 +/
Сообщение от Ordu (ok), 17-Май-19, 17:30 
Я могу предположить. Использование "\r\n" в качестве разделителя строк протокола позволяет в одну строку протокола впихнуть многострочный файл со "\n" в качестве разделителя строк. Но это лишь предположение, реально я не знаю как дело было, просто ты задал вопрос, я задумался над этим, и мне пришёл в голову такой вот возможный ответ.
Ответить | Правка | Наверх | Cообщить модератору

70. "Реализация FastCGI на современном C++"  +2 +/
Сообщение от Аноним (50), 17-Май-19, 17:34 
> Что подвигло Тима Бернерса-Ли выбрать для перевода строки \r\n, он же ползовался NIX-like ОС?

А он и не выбирал. Он просто передрал RFC822.

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

77. "Реализация FastCGI на современном C++"  +2 +/
Сообщение от Аноним (50), 17-Май-19, 18:04 
Ну то есть не передрал, а сослался, конечно.
https://tools.ietf.org/html/rfc2068#section-4.1
Ответить | Правка | Наверх | Cообщить модератору

88. "Реализация FastCGI на современном C++"  +1 +/
Сообщение от dmitigr (ok), 17-Май-19, 18:26 
Совершенно верно. operator<< - это оператор форматированного вывода. Вызов ostream << "\n" записывает в поток "\r\n" в Windows и "\n" в Unix. Протокол HTTP предписывает использование "\r\n" в качестве разделительной последовательности.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

113. "Реализация FastCGI на современном C++"  +4 +/
Сообщение от Аноним (16), 17-Май-19, 21:52 
> автор хочет, вероятно, привести код в соответствии протоколу HTTP, в котором перевод строки строго определён как "\r\n". Так что мат. часть, вероятно, надо учить как раз Вам.

Матчасть учить нужно тому, кто не знает про существование std::ios_base::openmode binary, когда ему нужно выводить данные в поток без преобразования символов под конкретную ОС.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру