LINUX.ORG.RU
ФорумTalks

Cобсеседованиями собеседуй собеседник HTTP 1, 2, 3 QUIC

 , , , ,


0

2

Что спрашивают на собеседованиях?

На собеседованиях спрашивают про разницу протоколов HTTP разных версий. Ну давайте не будем разговаривать про UDP/TCP это и так большниство знает, что UDP не дает гарантий ни для последовательнсоти и ни для доставки, а вот с HTTP?

Вот так, если сходу «Опа, Гоп Стоп!» Вчем разница?

  • HTTP создает соденинение на каждый запрос.
  • HTTP 2 уже вроде как может качать все ресурсы по одному соедению.
  • HTTP 3 основан на новом протокол QUIC который основан на UDP.

А теперь мои дороиге друзья ответы от ByteByteGo и лично от Alex Xu.

Проверил себя сам, проверьте себя и вы.

UPD:

Работа над ошибками:

  • HTTP 1 TCP соединение на отправку каждого ресурса, текстовый протокол.
  • HTTP 1.1 постоянное TCP содинение, возможность отсылать множество запросов, ответы приходят последовательно. Пока не пришел ответ на запрос №1, ответы на запрос №2, №3 и №4 не придут. Также текстовый проткол.
  • HTTP 2 протокол бинарный, также существует на постоянном TCP соединение, создана концепция стримов: параллельная загрузка ресурсов в рамках одного TCP соденинения.
  • HTTP 3 бинарнаый проткол на QUIC, потоки уже реализованы на уровне UDP. Сам QUIC расшифровывается «Quick UDP Internet Connection», является UDP с встроенным TLS.


Последнее исправление: lbvf50txt (всего исправлений: 7)
Ответ на: комментарий от n_play

а до какой глубины понимание стека необходимо?

Глубина понимания стека зависит от ваших целей. Данный вопрос взят из собеседований на должность Golang разработчика. Так как Golang используется для написания высоконагруженных сервисов то от разработчика требуется более детальное понимание устройства HTTP протокола.

В приложениях Golang зачастую нет разделения на отдельный HTTP сервер к которому пишется приложение как на PHP/Ruby, а сервер с механизмом роутинга прописывается сразу в приложении.

все что необходимо и требуется знать: так это лишь одну мантру «tcp гарантирует доставку сообщений побайтово, ровно в том же порядке байт за байтом».

Вы правы: этот тезис желательно знать всем IT специалистам, не будет лишним даже для менеджерского состава. Но он поверхностный и не достаточен для системных программистов, системных администраторов, высококласcных back end разработчиков.

lbvf50txt
() автор топика
Последнее исправление: lbvf50txt (всего исправлений: 2)
Ответ на: комментарий от qulinxao3

ну anc вроде как самый аксаул тут

А причем тут он? Я отвечал пользователю n_play. Внимательнее нужно быть, Дмитрий Юрьевич.

Obezyan
()
Ответ на: комментарий от lbvf50txt

Но он поверхностный и не достаточен для системных программистов, системных администраторов, высококласcных back end разработчиков.

чем же это?

на уровень обработки самого TCP все равно них из перечисленных не должен опускаться. этим всем занимается, внезапно операционная система и ее TCP/IP стек. а все эти туда лезут своими рученками в код того стека, чуть менее чем никогда.

n_play
()
Ответ на: комментарий от n_play

на уровень обработки самого TCP все равно них из перечисленных не должен опускаться.

Системные программисты и сисадмины как раз вполне себе опускаются.

anc ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)