Александр
Но это не точно
Deleted
Dmitri
уровень представления?
Dmitri
а, ты про то, что дает функционал 6 уровня?
Deleted
Угу
Dmitri
по сути, сериализаторы, имхо. Тысячи их.
Deleted
Ну какие, лол, хоть одно название
Sergei
мальчики, настоящие сети работают по модели TCP/IP. в ней нет шестого уровня.
Dmitri
Sergei
Dmitri
Deleted
Dmitri
Sergei
Sergei
и на засыпку интересный вопрос тогда
Deleted
Это эталон, чувак
Sergei
у вас просто HTTP-сервис. Какой протокол работает на шестом уровне?
Deleted
Никто не говорит, что эталон идеален
Deleted
Sergei
HTTP.
Deleted
Ascii тогда
Deleted
Как способ представления данных
Sergei
ты понимаешь же, что ASCII это способ _кодирования_ данных, а не передачи?
Sergei
JSON тогда тоже протокол?
Deleted
Уровень передачи данных лежит ниже
Dmitri
Dmitri
Deleted
А представление это так же и кодирование, ведь кодирование это изменение представления
Deleted
Sergei
Osi тоже
в случае HTTP что работает на шестом уровне?
Sergei
ASCII - не протокол. это просто таблица в памяти.
Dmitri
Deleted
С помощью ascii из твоих красивых буковок получаются цифровые коды
Deleted
Почитай интернет же, там подробно об этом
Dmitri
6 уровень - это упаковка того, что ты хочешь передать, в набор байт, который нужно отдать второй стороне
Dmitri
смотри, на 7 уровне у тебя приложение. Допустим, ООП-приложение. У тебя экземпляр класса, т.е. объект. Оно логично, что передать его "как есть", да еще и чтобы оно было понято другой стороной - задача весьма нетривиальная и даже, местами, неразрешимая.
Dmitri
Для этого нужен 6-й уровень. Ты упаковываешь свой объект в последовательность байт, которые, будучи прочтитаны "как есть", смогут быть поняты другой стороной.
Sergei
а, то есть JSON-сериализация объектов, которая работает поверх HTTP, на самом деле шестой уровень?
Dmitri
На 5-м ты устанавливаешь сеанс связи и "кидаешь" в него свою последовательность байт.
Dmitri
Как, какой сеанс, какими средствами, как реализовано на уровне сети - это вопрос к нижележащим уровням. Тебя, как разработчика, особо не волнует.
Sergei
Dmitri
Тебя не должно заморачивать, КАК он это делает.
Sergei
Dmitri
Sergei
и что же это такое? :)
Dmitri
детали реализации курла и нджинкса, естественно. Т.е. curllib, например
Sergei
какие детали? какие преобразования происходят между tcp-потоком и http-запросами и ответами и в обратную сторону?
преобразования в виде "читать из сокета байты, раскодировать их по ASCII до тех пор пока не встретится \n\n, разделяя на токены по \n и разделяя получившиеся токены по ": ", потом читать еще Content-Length байт, потом закрыть сокет (примитивно) - это преобразование между TCP и HTTP сразу.
где промежуточные уровни?
Dmitri
ты же понимаешь, что "прочитать тесктовый поток, считая <teg> началом тега, </teg> - его концом, а <teg/> - комбинацией этих символов, распарсить построчно и по предопределенным правилам получить DOM-модель в памяти браузера" - это нескольно сложнее?
Sergei
nvkv
Sergei
HTTP про HTML вообще ничего не говорит
Dmitri
http теперь является "протоколом передачи гипертекста"
Sergei
Dmitri
смотри, можно считать сетевой моделью только то, что происходит между нодами сети - ты имеешь на это право и можешь тупо игнорировать верхние три уровня OSI в своей модели мироздания. В самой же модели то, что происходит внутри самих нод - это тоже часть сетевого взаимодействия. Это можно принимать, можно отторгать, можно игнорировать - это мало кого волнует. Особенно не волнует саму модель, она модель, ей чувства неведомы.
Dmitri
Сами разработчики говорят, что модель не идеальна, есть исключения на практике, их многие критикуют.
Dmitri
Но при этом модель есть, и она - весьма неплохая рекомендация.
Sergei
HTML между тем (даже если посчитать ее за протокол передачи данных, хотя это требует насилия над мозгом) работает поверх HTTP, поэтому быть на 5/6 уровнях не может никак. а 8-го уровня не предусмотрено.
nvkv
Oh, I got it
Dmitri
Причем рекомендация не только для системных администраторов (собственно, для них важны только нижние 4 уровня), но и для разработчиков.
nvkv
не передачи, кодирования, конечно
Dmitri
Вот этим самые три верхних уровня придуманы для того, чтобы эти самые разработчики вообще не грели голову о том, что происходит на нижних четырех.
Sergei
Dmitri
Можешь воспринимать верхние 3 уровня как психологический блок для неокрепших умов разработчиков.
Dmitri
и, к слову, в чем именно "дырявость"?
Dmitri
дырявая - это же если "течет"?
Sergei
http://russian.joelonsoftware.com/Articles/LeakyAbstractions.html
Dmitri
ну т.е. да, если течет.
Dmitri
Вот смотри, пример.
Dmitri
Dmitri
Отлаживать - да, нереально. Писать -то что мешает?