Я знаю, как работает модель OSI (и что они немного отличаются), но мне было интересно, на каком уровне модели OSI люди обычно думают о работающем javascript.
1 ответ
Хорошо, ваш вопрос не так легко отклонить, как это делает HeavyD, но он (а) на 90% прав.
Существует реализация Berkley Sockets для js, которая называется Socket.IO, вызовы которого отображаются на слои 7, 4 и 3. См. Мой ответ здесь для обсуждения того, как вызовы Sockets отображаются на уровни OSI. Какие подробные шаги модели OSI используются при подключении к веб-сайту?
Так что, как говорится, javascript, как и любой язык программирования, не работает на каком-либо конкретном уровне. Однако есть функции и реализации библиотек, которые соответствуют OSI.
OSI - это функция и ответственность, а не форма, поэтому нельзя сказать, что в какой-либо точке стека (включая L7) существует язык программирования; все дело в том, что вы делаете с этим языком, и как он интегрируется с сетевым стеком. 99% любого кода, который вы пишете на любом языке, всегда будет на уровне приложения. Доступ к сети часто бывает тривиальной задачей, требующей небольшого количества повторно используемого кода, но то, что вы делаете с данными, которые вы передаете, является настоящим ядром любой данной программы. Например, обновление AJAX вызовет сервер и запросит текст JSON. JSON и AJAX важны и происходят на уровне приложений. Фактическое соединение для его получения, однако, почти ничтожно по сравнению.