Size: a a a

Node.js — русскоговорящее сообщество

2020 January 11

Ð

Ð in Node.js — русскоговорящее сообщество
Sergey Kazak
http, отдает в один поток, т.е. каждый запрос новое соединение. http/2 каждый запрос, это стрим, внутри которого браузер может получать хоть десять, хоть двадцать пакетов одновременно. Проще говоря. вся разница на уровне браузера. Предположим, что у вас нормальное соединение с интернетом, и вы грузите сайт на котором 5-7 скриптов js, 5-6 файлов css, 4-5 файлов шрифтов, и 10 картинок, не считая фавиконки. Так вот если ваш браузер поддерживает первый протокол, то в лучшем для вас случае, он загрузит сначал первый в очереди документы по приоритету. Сначала index.html, а потом 7 документов, а потом еще 7 документов, потом еще 7 и т.д. с http2, все проще, браузер открывает одно соединение, и по нему получает в ответ сразу все документы которые ему нужны, после скачивания html, просто с разным приоритетом. Так как открытие каждого соединения это дорогая операция по времени и ресурсам для браузера, http/2 банально в большиснтве задач значительно быстрее.
что там насчет keepalive?
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
Sergey Kazak
http, отдает в один поток, т.е. каждый запрос новое соединение. http/2 каждый запрос, это стрим, внутри которого браузер может получать хоть десять, хоть двадцать пакетов одновременно. Проще говоря. вся разница на уровне браузера. Предположим, что у вас нормальное соединение с интернетом, и вы грузите сайт на котором 5-7 скриптов js, 5-6 файлов css, 4-5 файлов шрифтов, и 10 картинок, не считая фавиконки. Так вот если ваш браузер поддерживает первый протокол, то в лучшем для вас случае, он загрузит сначал первый в очереди документы по приоритету. Сначала index.html, а потом 7 документов, а потом еще 7 документов, потом еще 7 и т.д. с http2, все проще, браузер открывает одно соединение, и по нему получает в ответ сразу все документы которые ему нужны, после скачивания html, просто с разным приоритетом. Так как открытие каждого соединения это дорогая операция по времени и ресурсам для браузера, http/2 банально в большиснтве задач значительно быстрее.
* и браузер и сервер должны поддерживать http2
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Alex CherryTea
* и браузер и сервер должны поддерживать http2
так это понятно, челове к спрашивал про разницу, я и ответил, что вся разница на стороне браузера. и почему такая разница
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
разница на стороне и браузера и сервера...
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Ð
что там насчет keepalive?
спросите что по проще, я не вникал в подробности http/2, знаю что в большинстве задач он быстрее
источник

DD

Dmitry DS in Node.js — русскоговорящее сообщество
Андрей
Вот такой путь в БД записывается необходимо его санитайзером обрабатывать или норм ?
uploads\\projects\\1578722494230-001.jpg
ненормально, путь в базу должен быть относительный, а папка где лежит все задана в конфиге
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Alex CherryTea
разница на стороне и браузера и сервера...
Что сервер начинает быстрее работать c http/2, вроде нет?
источник

Ð

Ð in Node.js — русскоговорящее сообщество
Sergey Kazak
спросите что по проще, я не вникал в подробности http/2, знаю что в большинстве задач он быстрее
ну вот тогда наверное не стоит про открытие соединений. да, второй поддерживает мультиплексирование из коробки, но но основное отличие совсем не с этом, а в том что он бинарный и позволяет пушить ресурсы еще до того как их запросили
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
Sergey Kazak
Что сервер начинает быстрее работать c http/2, вроде нет?
что в вашем понимании "быстрее работать" ? Если это статический сервер который только файлы пачками отдавать то да - он будет быстрее работать
источник

DD

Dmitry DS in Node.js — русскоговорящее сообщество
Sergey Kazak
Что сервер начинает быстрее работать c http/2, вроде нет?
по идее он должен быстрее выдавать много мелких файлов (и теряет смысл запихивания всего в один большой файл, как раньше делали)
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Ð
ну вот тогда наверное не стоит про открытие соединений. да, второй поддерживает мультиплексирование из коробки, но но основное отличие совсем не с этом, а в том что он бинарный и позволяет пушить ресурсы еще до того как их запросили
так бли основная разница, как раз в этом и есть, что вторая версия позволяет браузеры выкалчивать множество файлов за один запрос, а с первой он ограничен, причем не протоколом, а разрабами
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
как раз протоколом
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Alex CherryTea
как раз протоколом
ок покажите, где в http1.1 написанно про ограничения по стандарту не более 5-7 запросов за раз?
источник

Ð

Ð in Node.js — русскоговорящее сообщество
Sergey Kazak
так бли основная разница, как раз в этом и есть, что вторая версия позволяет браузеры выкалчивать множество файлов за один запрос, а с первой он ограничен, причем не протоколом, а разрабами
он может, но это уже давно не является проблемой и в первом, основное отличие не в этом, а в том что во втором сервер правит бал
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
Sergey Kazak
ок покажите, где в http1.1 написанно про ограничения по стандарту не более 5-7 запросов за раз?
разница не только в количестве соединений, Карл
источник

DD

Dmitry DS in Node.js — русскоговорящее сообщество
Sergey Kazak
ок покажите, где в http1.1 написанно про ограничения по стандарту не более 5-7 запросов за раз?
это браузеры сами решают сколько соединений делать параллельных
а во 2й версии все передается в пределах одного соединения
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Alex CherryTea
разница не только в количестве соединений, Карл
ну вот начинается съезд с темы, вы только что, сами сказали что ограничивает содинения протокол а не браузер, ок я прошу еще раз, покажите мне где эжто в спецификации написаннно к протоколу?
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Dmitry DS
это браузеры сами решают сколько соединений делать параллельных
а во 2й версии все передается в пределах одного соединения
так челове заявляет что ограчинение не браузерное а по протоколу, вот я и спрашиваю
источник

Ð

Ð in Node.js — русскоговорящее сообщество
Alex CherryTea
разница не только в количестве соединений, Карл
да блин, какие нафиг соединения, http с версии 1.1 все соединения считает keepalive если не указано иное, это уже давно не проблема
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
Sergey Kazak
ну вот начинается съезд с темы, вы только что, сами сказали что ограничивает содинения протокол а не браузер, ок я прошу еще раз, покажите мне где эжто в спецификации написаннно к протоколу?
в спецификации может и не написано (а может и написано). Сьезд темы тут с вашей стороны - протокол должен быть внедрен быть с двух сторон - на сервере и в браузере
источник