Что такое семантика и как это относится к HTML? Рассуждения о семантике кода HTML с примерами

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

Момент этот заключается в понимании такого важного понятия, как семантика кода . Давайте в этой заметке попытаемся разобраться с этим вопросом и зачем это все нужно.

Что такое семантика кода ?

Семантика (с лингвистической точки зрения) – это смысл, информационное содержание языка или отдельной его единицы.

Как мы знаем, структурными единицами языка HTML являются теги, они и являются теми самими отдельными единицами, которые несут смысл, информационное содержание.

Когда перед нами есть какая-то информация, которую нужно представить на веб-странице в Интернете, в первую очередь, мы должны объяснить компьютеру, какая часть этой информации, чем является. Не зная об этом, он просто не сможет правильно отобразить все содержимое.

Таким образом, когда мы создаем веб-страницу, с помощью языка HTML , мы объясняем компьютеру, какой элемент, какую роль должен играть на странице.

Мы должны понимать, что содержание каждого элемента веб-страницы должно быть заключено в теги, которые бы соответствовали их логическому и смысловому назначению.

Т.е. заголовки в тексте заключались бы в теги h 1-h 6, абзацы в теги p , списки в теги ul /ol (li ) и.т.д.

Код, который соответствует этим условиям, называют семантическим т.е. каждому элементу на веб-странице, соответствует правильное смысловое значение.

А теперь вопрос, можем ли мы заголовок на веб-странице, заключить в тег абзаца?
А почем нет? Конечно, можем. Многие скажут, но ведь при этом мы теряем оформление, которое имеют заголовки h 1-h 6. Но, на самом деле, оформление здесь никакой роли не играет. С помощью стилей CSS , мы можем присвоить любому абзацу точно такое же оформление, которое было у элемента h 1-h 6.

Вывод, который мы с вами должны сделать, исходя из этого, семантика кода и оформление это две разные вещи, которые не нужно путать между собой. Определенное оформление каждому тегу присваивается, но его можно легко изменить,а вот изменить семантическое значение этого тега уже нельзя.

Мы можем заключить заголовок в абзац, но при этом теряется семантичность кода и этот текст будет нести совершенно иной смысл.

Поэтому, прежде чем заключать элемент в какой-либо тег, желательно подумать, а какую функцию, смысл он несет на странице?

Возникает логичный вопрос, а зачем в таком случае вообще нужна семантика кода?

Зачем заголовки делать заголовками, абзацы делать абзацами, аббревиатуры делать аббревиатурами и.т.д.?

По моему мнению, есть несколько причин, которые помогут вам склониться в сторону семантического кода. Что нам дает семантическая разметка?

1) Информацию о том, как браузеру по умолчанию отображать тот или иной элемент на странице;

Например, мы знаем, что заголовок h 1, если не задавать ему никаких специальных стилей, отображается на странице размером 2em и жирным шрифтом. Но, по моему мнению это самая не существенная причина.

2) Семантический код лучше читается и воспринимается поисковыми системами;

Считается, что страница, которая имеет семантическую разметку, при прочих равных условиях, будет выдаваться выше в результатах выдачи поисковых систем, чем страница с несемантическим кодом.

2) Код более понятный для человека;

Согласитесь, что разобраться с кодом, где все четко прописано, что эта часть текста является абзацем, эта аббревиатурой, и.т.д. намного легче, чем с кодом, где вся информация идет одной сплошной структурой и не понятно, что хотел сказать автор.

3) Проще получить доступ к элементу и как следствие большая гибкость.

Делая код семантическим, вы сможете намного проще обращаться к этим элементам с помощью специальных средств, которые работают с элементами на веб-страницах, например, языки CSS , Javascript и др.

Если вы заключите все аббревиатуры на вашей странице в тег abbr , то в CSS , для того, чтобы все аббревиатуры на вашей странице стали красными достаточно будет просто прописать.

abbr {color :red ;}

Вместо того, чтобы в HTML выделять и прописывать это правило к каждой отдельно взятой аббревиатуре.

Это всего лишь один пример, которых можно привести массу.

По этим причинам нужно понимать, что семантический код просто дает нашему документу больше возможностей. Мы можем применять какие-то теги для улучшения семантики сайта и получать при этом большую функциональность, либо их не применять и не получать эти выгоды.

Дело ваше!

Вы должны сами для себя принять это решение.

  • 10. Позиционные чередования гласных фонем. Количественная и качественная редукция гласных фонем.
  • 11. Позиционные чередования согласных фонем. Ассимиляция и диссимиляция по глухости/звонкости и по твердости/мягкости.
  • 12. Исторические чередования фонем.
  • 13. Падение редуцированных гласных фонем и последствия этого явления.
  • 14. Чередования, связанные с историей носовых звуков в древнерусском языке.
  • 15. Палатализация заднеязычных.
  • 17. Фонетическая транскрипция. Фонематическая транскрипция
  • 18. Слог. Слогораздел. Типы слогов.
  • 19. Фонетическое слово. Ударение
  • 20. Речевой такт. Интонация
  • 21. Ударение. Интонационные конструкции
  • 21. Фраза. Интонация
  • 22. Понятие об орфоэпии
  • 23. Основные правила русского литературного произношения.
  • 24. Произношение гласных под ударением. Произношение безударных гласных.
  • 25. Произношение отдельных согласных звуков.
  • 26. Произношение групп согласных.
  • 27. Произношение некоторых грамматических форм.
  • 28. Произношение некоторых аббревиатур. Особенности произношения иноязычных слов.
  • 29. Трудные случаи усвоения ударения в русском языке.
  • 30. Развитие русского литературного произношения.
  • 31. Грамматическое кодирование
  • 32. Семантическое кодирование. Двухаргументные (временные признаки): причинность.
  • 33. Семантическое кодирование. Двухаргументные (временные признаки): следствие, результат, цель.
  • 34. Семантическое кодирование. Двухаргументные (временные признаки): превращение, изменение
  • 35. Семантическое кодирование. Двухаргументные (временные признаки): взаимодействие, группировка, общность, объединение
  • 36. Семантическое кодирование. Двухаргументные (временные признаки): разделение, влияние, условие, вхождение.
  • 37. Семантическое кодирование. Двухаргументные (временные признаки): соответствие, управление, подчинение, зависимость.
  • 38. Семантическое кодирование. Одноаргументные (постоянные признаки):свойство, необходимость, возможность, вероятность, есть, нет.
  • 39. Семантическое кодирование. Одноаргументные (постоянные признаки): истинность, ложность.
  • Семантический код. Его цели. Предназначение. Принцип построения. Возможности.
  • Предназначение семантического кода. Термин «смысл».
  • Предназначение семантического кода. Текст. Информация. Гипертекст в освоении информации.
  • 43. Грамматический и семантический анализ при семантическом кодировании.
  • 44. Русский семантический словарь сочетаемости и ассоциативный словарь при семантическом кодировании.
  • Предназначение семантического кода. Системный изоморфизм.
  • Предназначение семантического кода. Принцип необходимого и достаточного.
  • Предназначение семантического кода. Связность классов и подклассов
  • 48. Предназначение семантического кода. Принцип иерархичности/ неиерархичности.
  • 49. Предназначение семантического кода. Системная метафоричность.
  • 50. Ситуативный (ситуационный) семантический код.
  • 51. Семантическое кодирование. Выравнивающе-толковательный код. Матрешный код.
  • 52. Основные задачи и ключевые понятия речевого интерфейса.
  • 53. Исторический обзор проблемы распознавания и синтеза речи.
  • 54. Системы автоматического синтеза речи. Практические приложения речевого интерфейса.
  • 55. Системы автоматического распознавания речи. Практические приложения речевого интерфейса.
  • 56. Лингвистические основы речевого интерфейса. Использование лингвистики в реализации речевых систем.
  • 57. Структура речевого сигнала. Анализ и синтез. Спектрально-временные характеристики речевого сигнала.
  • 58. Информационная и модуляционная структура речевого сигнала.
  • 59. Методы синтеза речевого сигнала. Обобщенные математические модели описания речевых сигналов.
  • 60. Методы синтеза речевого сигнала. Геометрическая модель речевого тракта.
  • 61. Методы синтеза речевого сигнала. Формантная модель.
  • 62. Компиляционные методы синтеза речевого сигнала.
  • 63. Методы анализа речевого сигнала.
  • 64. Метод цифровой фильтрации речевого сигнала. Спектральный анализ с использованием алгоритмов бпф. Метод цифровой фильтрации
  • Спектральный анализ с использованием алгоритмов бпф
  • 65. Спектральный анализ на основе линейного предсказания. Формантно-параметрическое описание речевого сигнала. Спектральный анализ на основе линейного предсказания
  • Формантно-параметрическое описание речевого сигнала
  • 66. Метод кепстральных коэффициентов. Особенности восприятия речи. Свойства рецептивного восприятия речи человеком. Метод кепстральных коэффициентов
  • 67. Свойства рецептивного восприятия речевых сигналов. Природа слуховых (фонетических) признаков речевого сигнала. Свойства рецептивного восприятия речевых сигналов
  • Природа слуховых (фонетических) признаков речевого сигнала
  • 68. Свойства восприятия минимальных смыслоразличительных элементов речи
  • 69. Синтез речи по тексту. Структура синтезатора речи по тексту.
  • Структура синтезатора речи по тексту Ключевые понятия:
  • 70. Лингвистический процессор. Предварительная обработка текста. Пофразовая обработка текста.
  • Предварительная обработка текста
  • Пофразовая обработка текста
  • 71. Пословная обработка теста. Пример работы лингвистического процессора. Пословная обработка текста
  • Пример работы лингвистического процессора
  • 72. Просодический процессор
  • 73.Фонетический процессор. Артикуляторно-фонетический процессор. Формантный фонетический процессор.
  • 74. Аллофонный фонетический процессор. Акустический процессор.
  • 75. Аппроксимация геометрии речевого такта. Акустический процессор, основанный на компиляционных методах синтеза речи.
  • 76. Классификация систем автоматического распознавания речи. Методы автоматического распознавания речи.
  • 77. Классификация методов распознавания речи.
  • 78. Метод динамического программирования.
  • 79. Метод скрытых марковских моделей.
  • 80. Структурно-экспертные методы распознавания речи. Экспертный подход к фонемному распознаванию речи.
  • 81. Проблемы обучения в распознавании речи и методы создания эталонных слов. Метод создания многокластерных эталонов речи.
  • 82.Проблема плотных упаковок. Формульное представление знаний как вариант плотных упаковок.
    1. Семантический код. Его цели. Предназначение. Принцип построения. Возможности.

    Целью дан разр явл:

      Сформировать наиб общ принц созд сем кода

      Показ в общем виде на примерах его возможности

      Обнаруж пути возм. Статья 100 000-го словаря

      Созд пробн сист. Мы оперир словарем в объеме около 400 слов и выр-ний. И наз отвеч на вопр к тексту обземом в страницу не представл сложности.

    Подобн система мб постр лингвистически за 2-3 месяца, за 2 мес отлажена в прогр виде. При этом можно искл тот же самый текст, как на РЯ, так и на АЯ

    При всей искуств текста, а он практически содержит избыт инф-цию в реальн текстах такой инф-ции не бывает. Данная работа - аналог сист груб понимания при одном условии: если мы решим, что такое машинное понимание?

    Принципы хранятся в двух основных моментах:

      Прежде всего целостн картины мира … на отдельные части множ-вом. Пр0-й. Именно поэтому ученье часто ив о «мозаичном» знании. Так, в моногр фр иссл-я А. Моля целый раздел посвящен мозаичной культуре и ср-вам масс коммуникации, созд именно мозаичн картины мира

    Чаще всего эти Пр0-и несвяз др с другом и в силу отсуств общ сист термин-ии. Эта разобщ мешает формализ даже именому знание о мире. Это происходит из-за того, что в рамках Пр0 вновь сталк с делен на подобл знания.

        При разг о зания и попытки их форм-ть не учит-ся сама изм приращ знаний за счет их можериз-я. Знания приобр-ся лишь за счет напол нав игф, а не за счет лог вывода новых знаний на базе старых. Между тем ребенок, освоив мир, моделирует и модернизирует.

    Причины создания такой научн сист-м соверш разнопл. Одна из них - это отсуствие мат аппарата и эмпиризм и диктат практики. Само отсутсв мат аппарата мб и неведения что этот апп нах-ся в твоих руках, но ты его не видишь.

    1. Предназначение семантического кода. Термин «смысл».

    Смысл относится к тем загадочным явлениям, которые считаются как бы общеизвестными, поскольку постоянно фигурируют как в научном, так и обыденном общении. На самом деле он не только не имеет сколько-нибудь строгого общепринятого определения, но и на описательном уровне существует большой разброс суждений о том, что это такое. Иногда допускается, что смысл принадлежит к тем наиболее общим категориям, которые не подлежат определению и должны восприниматься как некоторая данность. В настоящее время в связи с необходимостью решения целого ряда актуальных задач как теоретического, так и прикладного характера, где понятие смысла играет ключевое значение, требуются определенные уточнения данного понятия.

    Онтология смысла приобретает особую значимость в связи с теми изменениями в понимании объекта, предмета и задач лингвистики, которые уже произошли и продолжают происходить в настоящее время. Если в период, когда доминировала абсолютизация языка как самодостаточной автономной сущности, смысл часто выступал лишь как некоторое факультативное явление, находящееся на периферии интересов исследователей, то при обращении к речи, тексту, дискурсу смысл начинает фигурировать как одна из наиболее фундаментальных категорий.

    С.А.Васильев различает предметный смысл и текстовый. Предметный смысл связывается им с механизмом вычленения, осознания предметов реальной действительности. В связи с этим основу смысла, по мнению автора, составляет способность устанавливать тождество и различие."Вещи неразличимы, если имеют для человека равный смысл, как неразличимы штампованные экземпляры одной и той же детали" (Васильев 1988, 96).

    С.А.Васильев выделяет несколько составляющих смысла. Одной из таких составляющих является предметная объективация человеческого опыта в виде знания о данном предмете. Но оно, по мнению автора, образует лишь наиболее общую составляющую смысла, интерсубъектную по своему источнику, имеющую общечеловеческую ценность. Помимо этого смысл содержит и такие компоненты, которые выражают жизненные установки ее носителей, их особые отношения к предметному миру. Эти две составляющие смысла лежат в основе межиндивидуального общения, а потому откладываются в их сознании и фиксируются как устойчивые, повторяющиеся компоненты, постоянно воспроизводимые в речи.

    Кроме того, в состав смысла входит индивидуальный опыт, глубоко личностные отношения индивида к предмету и возникающие отсюда ожидания, привязанности, эмоции, памятные ассоциации, которые выделяют данный предмет из множества похожих на него.

    Все это составляет, по терминологии автора, "смысл-ценность", который имеет отношение не только к предметному миру, но реализуется и на уровне текста, составляя один из его смысловых уровней. Другой уровень текста составляет "смысл-сообщение" т.е. то, что хотел сказать автор.

    Все это позволяет автору сделать вывод о том, что заключенный в тексте "смысл-сообщение" является специфическим свойством, отличающим его от всех прочих предметов, которые текстами не являются, а "смысл-ценность", который текст приобретает вследствие включенности его в систему жизнедеятельности человеческого общества, наоборот, сближает его с другими предметами, делает его элементом того предметного универсума, в котором разворачивается вся человеческая жизнь.

    Характеризуя "смысл-сообщение", С.А.Васильев обращает внимание на одну очень существенную его особенность. Он задается вопросом: за счет чего смысл целого высказывания оказывается всегда больше суммы значений, образующих его слов? В связи с этим он анализирует фрагмент романа М.Ю.Лермонтова "Герой нашего времени", в частности, слова Максимыча, характеризующие поведение Печорина:"...ставни стукнут, он вздрогнет и побледнеет; а при мне на кабана ходил один на один..." Автор отмечает, что приведенные слова сами по себе не воссоздают смысл поведения героя. Он считает, что здесь "говорит" само поведение, сам поступок: пугливость, храбрость... Как бы мы эти слова не сочетали, мы никак не получим значения пугливости, храбрости. Союз "а" здесь противопоставляет смысл не двух частей фразы, а двух способов поведения, которое мы понимаем на основе нашего индивидуального и усвоенного коллективного опыта. В результате автор делает чрезвычайно важный для понимания природы смысла вывод: "Здесь происходит использование невербальных средств в вербальном тексте"(Васильев 1988, 98). Это во-первых, свидетельствует об экстралингвистическом характере смысла, во-вторых, о том, что он является внешним по отношению к тексту, поскольку связан с актуализацией прошлого опыта, знания, оценочно-эмоциональных компонентов сознания личности. Кроме того, отсюда можно сделать вывод и о том, что смысл не содержится непосредственно в тексте, а является производным от процесса понимания, в котором он собственно и возникает как некоторая субстанция. Этот вывод возникает как объективное следствие, вытекающее из рассуждений автора, хотя оно и вступает в противоречие с некоторыми другими его положениями.

    Или подстановки. Составляется таблица однозначного соответствия алфавита исходного текста и кодовых символов, и в соответствии с этой таблицей происходит кодирование один в один. Чтобы раскодировать, нужно знать кодовую таблицу.

    Существует большое число кодов, применяемых в разных областях человеческой жизни. Общеизвестные коды применяются по большей части для удобства передачи информации тем или иным способом. Если же кодовая таблица известна только передающему и принимающему, то получается довольно примитивный шифр, который легко поддаётся частотному анализу. Но если человек далёк от теории кодирования и не знаком с частотным анализом текста, то разгадать ему такие шифры довольно проблематично.

    A1Z26

    Простейший шифр. Называется A1Z26 или в русском варианте А1Я33. Буквы алфавита заменяются на их порядковые номера.

    «NoZDR» можно зашифровать как 14-15-26-4-18 или 1415260418.

    Азбука Морзе

    Буквам, цифрам и некоторым знакам сопоставляется набор точек и тире, которые можно передавать по радио, звуком, стуком, световым телеграфом и отмашкой флажками. Более подробно про морзянку можно прочитать на страничке .

    Шрифт Брайля

    Брайль – это система тактильного чтения для слепых, состоящая из шеститочечных знаков, называемых ячейками. Ячейка состоит из трёх точек в высоту и из двух точек в ширину.

    Различные брайлевские знаки формируются путем помещения точек в различные положения внутри ячейки.

    Для удобства точки описываются при чтении следующим образом: 1, 2, 3 слева сверху вниз и 4, 5, 6 справа сверху вниз.

    При составлении текста придерживаются следующих правил:

      между словами пропускается одна ячейка (пробел);

      после запятой и точки с запятой ячейка не пропускается;

      тире пишется слитно с предыдущим словом;

      перед числом ставится цифровой знак.

    Кодовые страницы

    В компьютерных квестах и загадках можно кодировать буквы в соответствии с их кодами в различных кодовых страницах - таблицах, используемых на компьютерах. Для кириллических текстов лучше всего пользоваться самыми распространёнными кодировками: Windows-1251, KOI8, CP866, MacCyrillic. Хотя для сложных шифровок можно выбрать и что-то более экзотичное.

    Кодировать можно шестнадцатеричными числами, а можно и переводить их в десятичные. Например, буква Ё в KOI8-R имеет код B3 (179), в CP866 - F0 (240), а в Windows-1251 - A8 (168). А можно буквам в правых таблицах искать соответствие в левых, тогда текст получится набранным «кракозябрами» типа èαᬫº∩íαδ (866→437) или Êðàêîçÿáðû (1251→Latin-1).

    Вот здесь https://www.artlebedev.ru/tools/decoder/advanced/ есть неплохой раскодировщик таких зашифрованных текстов:)

    Масонский шифр

    Масонский шифр известен также под названием «пигпен» (Pigpen) или «крестики-нолики». Этот шифр представляет собой простой шифр замены, в котором каждой букве алфавита соответствует графический символ, вычисляемой по одной из приведённых ниже сеток.

    Чтобы зашифровать определённую букву при помощи этого шифра, нужно сначала определить место, где эта буква находится в одной из четырёх сеток, а затем нарисовать ту часть сетки, которая окружает эту букву. То есть, как-то так:

    Если знать ключ (то, как буквы расположены в сетках), то разгадать такую надпись довольно легко. А вот если буквы в сетках изначально расставлены по какому-то неизвестному правилу (с ключевым словом, поочерёдно или вообще случайно), то в этой ситуации всегда может помочь

    Использование графических символов вместо букв не является большим препятствием для криптоанализа, и эта система идентична другим простым схемам моноалфавитного замещения. Благодаря своей простоте, данный шифр часто упоминается в детских книжках про шифрование, тайнопись и всякие другие шпионские штучки.

    Точное время происхождения шифра неизвестно, но некоторые из найденных записей этой системы датируются XVIII веком. Вариации этого шифра были использованы орденом розенкрейцеров и масонами. Последние использовали его в своих тайных документах и переписках довольно часто, поэтому шифр и стали называть шифром масонов. Даже на надгробиях масонов можно увидеть надписи, использующие данный шифр. Похожая система шифрования использовалась во время гражданской войны в США армией Джорджа Вашингтона, а также заключенными в федеральных тюрьмах Конфедераций Штатов США.

    Ниже приведены два (синий и красный) варианта заполнения сетки таких шифров. Буквы расположены парами, вторая буква из пары рисуется символом с точкой:

    Авторские шифры

    Шифров, где одному символу алфавита (букве, цифре, знаку препинания) соответствует один (реже больше) графический знак, придумано великое множество. Большинство из них придуманы для использования в фантастических фильмах, мультфильмах и компьютерных играх. Вот некоторые из них:

    Пляшущие человечки

    Один из самых известных авторских шифров подстановки - это « ». Его придумал и описал английский писатель Артур Конан Дойл в одном из своих произведений про Шерлока Холмса. Буквы алфавита заменяются символами, похожими на человечков в разных позах. В книге человечки были придуманы не для всех букв алфавита, поэтому фанаты творчески доработали и переработали символы, и получился вот такой шифр:

    Алфавит Томаса Мора

    А вот такой алфавит описал в своём трактате «Утопия» Томас Мор в 1516 году:

    Шифр Билла Шифра из мультсериала "Гравити Фолз"

    Джедайский алфавит из "Звёздных войн"

    Инопланетянский алфавит из "Футурамы"

    Криптонский алфавит Супермена

    Алфавиты биониклов

    Семантика (фр. sémantique от др.-греч. σημαντικός - обозначающий) — наука о понимании определенных знаков, последовательностей символов и других условных обозначений. Эта наука используется во многих отраслях: лингвистика, проксемика, прагматика, этимология и т.д. Ума не приложу, что эти слова означают и чем все эти науки занимаются. Да и не важно, меня интересует вопрос применения семантики при верстке сайтов.

    Заметка

    Тут не буду затрагивать термин Семантический веб. На первый взгляд, может показаться, что темы Семантический веб и семантический HTML код — это почти одно и тоже. Но на самом деле Семантический веб понятие, довольно философское и с нынешней реальностью имеет не так много общего.

    Семантическая верстка — что это?

    В языке каждое слово имеет определенный смысл, назначение. Когда ты говоришь "колбаса", ты имеешь в виду пищевой продукт, представляющий собой фарш (как правило, мясной) в продолговатой оболочке. Короче говоря имеешь в виду колбасу, а не молоко или зеленый горошек.

    HTML — это тоже язык, его "слова", именуемые тегами, тоже имеют определенный логический смысл и назначение. По этому в первую очередь семантический HTML код — это верстка с правильным использованием HTML тегов , использованием их по назначению, так как их задумывали разработчики языка HTML и веб стандартов.

    microformats.org — сообщество, которое работает над воплощением идеалистических идей Семантического веба в жизнь посредством приближения разметки страниц к тем самым семантическим идеалам.

    Зачем и кому вообще нужна семантическая верстка?

    Если у меня на сайте информация отображается так же как на дизайне, зачем себе еще ломать мозг и думать о какой-то семантике?! Это же дополнительная работа! Кому это нужно?! Кто это оценит кроме другого верстальщика?

    Мне такие вопросы приходилось частенько слышать. Давай разберемся.

    Семантический HTML для веб разработчиков

    Семантический код для пользователей

    Повышает доступность информации на сайте. В первую очередь это имеет значение для альтернативных агентов таких как:

    • семантический код напрямую влияет на объем HTML кода. Меньше кода —> легче страницы —> быстрей грузятся, меньше требуется оперативной памяти на стороне пользователя, меньше трафика, меньший объем баз данных. Сайт становиться быстрей и менее затратным .
    • голосовые браузеры для которых важны теги и их атрибуты, чтобы произнести правильно и с нужной интонацией содержимое, или наоборот не произнести лишнего.
    • мобильные устройства которые не на полную мощь поддерживают CSS и поэтому ориентируются в основном на HTML код, отображая его на экране согласно используемым тегам.
    • устройства печати даже без дополнительного CSS напечатают информацию качественней (ближе к дизайну), а создание идеальной версии для печати превратится в несколько легких манипуляций с CSS.
    • к тому же существуют устройства и плагины, которые позволяют быстро перемещаться по документу — например, по заголовкам у Opera .

    Семантический HTML для машин

    Поисковые системы постоянно совершенствуют методы поиска, чтобы в результатах была та информация, которую действительно ищет пользователь. Семантический HTML способствует этому, т.к. поддается гораздо лучшему анализу — код чище, код логичен (четко видно где заголовки, где навигация, где содержимое).

    Хороший контент плюс качественная семантическая верстка — это уже серьезная заявка на хорошие позиции в выдачах поисковиков .

    Поскольку шифров в мире насчитывается огромное количество, то рассмотреть все шифры невозможно не только в рамках данной статьи, но и целого сайта. Поэтому рассмотрим наиболее примитивные системы шифрации, их применение, а так же алгоритмы расшифровки. Целью своей статьи я ставлю максимально доступно объяснить широкому кругу пользователей принципов шифровки \ дешифровки, а так же научить примитивным шифрам.

    Еще в школе я пользовался примитивным шифром, о котором мне поведали более старшие товарищи. Рассмотрим примитивный шифр «Шифр с заменой букв цифрами и обратно».

    Нарисуем таблицу, которая изображена на рисунке 1. Цифры располагаем по порядку, начиная с единицы, заканчивая нулем по горизонтали. Ниже под цифрами подставляем произвольные буквы или символы.

    Рис. 1 Ключ к шифру с заменой букв и обратно.

    Теперь обратимся к таблице 2, где алфавиту присвоена нумерация.

    Рис. 2 Таблица соответствия букв и цифр алфавитов.

    Теперь зашифруем словоК О С Т Е Р :

    1) 1. Переведем буквы в цифры:К = 12, О = 16, С =19, Т = 20, Ё = 7, Р = 18

    2) 2. Переведем цифры в символы согласно таблицы 1.

    КП КТ КД ПЩ Ь КЛ

    3) 3. Готово.

    Этот пример показывает примитивный шифр. Рассмотрим похожие по сложности шрифты.

    1. 1. Самым простым шифром является ШИФР С ЗАМЕНОЙ БУКВ ЦИФРАМИ. Каждой букве соответствует число по алфавитному порядку. А-1, B-2, C-3 и т.д.
    Например слово «TOWN » можно записать как «20 15 23 14», но особой секретности и сложности в дешифровке это не вызовет.

    2. Также можно зашифровывать сообщения с помощью ЦИФРОВОЙ ТАБЛИЦЫ. Её параметры могут быть какими угодно, главное, чтобы получатель и отправитель были в курсе. Пример цифровой таблицы.

    Рис. 3 Цифровая таблица. Первая цифра в шифре – столбец, вторая – строка или наоборот. Так слово «MIND» можно зашифровать как «33 24 34 14».

    3. 3. КНИЖНЫЙ ШИФР
    В таком шифре ключом является некая книга, имеющаяся и у отправителя и у получателя. В шифре обозначается страница книги и строка, первое слово которой и является разгадкой. Дешифровка невозможна, если книги у отправителя и корреспондента разных годов издания и выпуска. Книги обязательно должны быть идентичными.

    4. 4. ШИФР ЦЕЗАРЯ (шифр сдвига, сдвиг Цезаря)
    Известный шифр. Сутью данного шифра является замена одной буквы другой, находящейся на некоторое постоянное число позиций левее или правее от неё в алфавите. Гай Юлий Цезарь использовал этот способ шифрования при переписке со своими генералами для защиты военных сообщений. Этот шифр довольно легко взламывается, поэтому используется редко. Сдвиг на 4. A = E, B= F, C=G, D=H и т.д.
    Пример шифра Цезаря: зашифруем слово « DEDUCTION » .
    Получаем: GHGXFWLRQ . (сдвиг на 3)

    Еще пример:

    Шифрование с использованием ключа К=3 . Буква «С» «сдвигается» на три буквы вперёд и становится буквой «Ф». Твёрдый знак, перемещённый на три буквы вперёд, становится буквой «Э», и так далее:

    Исходный алфавит:А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я

    Шифрованный:Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я А Б В

    Оригинальный текст:

    Съешь же ещё этих мягких французских булок, да выпей чаю.

    Шифрованный текст получается путём замены каждой буквы оригинального текста соответствующей буквой шифрованного алфавита:

    Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб.

    5. ШИФР С КОДОВЫМ СЛОВОМ
    Еще один простой способ как в шифровании, так и в расшифровке. Используется кодовое слово (любое слово без повторяющихся букв). Данное слово вставляется впереди алфавита и остальные буквы по порядку дописываются, исключая те, которые уже есть в кодовом слове. Пример: кодовое слово – NOTEPAD.
    Исходный:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    Замена:N O T E P A D B C F G H I J K L M Q R S U V W X Y Z

    6. 6. ШИФР АТБАШ
    Один из наиболее простых способов шифрования. Первая буква алфавита заменяется на последнюю, вторая – на предпоследнюю и т.д.
    Пример: « SCIENCE » = HXRVMXV

    7. 7. ШИФР ФРЕНСИСА БЭКОНА
    Один из наиболее простых методов шифрования. Для шифрования используется алфавит шифра Бэкона: каждая буква слова заменяется группой из пяти букв «А» или «B» (двоичный код).

    a AAAAA g AABBA m ABABB s BAAAB y BABBA

    b AAAAB h AABBB n ABBAA t BAABA z BABBB

    c AAABA i ABAAA o ABBAB u BAABB

    d AAABB j BBBAA p ABBBA v BBBAB

    e AABAA k ABAAB q ABBBB w BABAA

    f AABAB l ABABA r BAAAA x BABAB

    Сложность дешифрования заключается в определении шифра. Как только он определен, сообщение легко раскладывается по алфавиту.
    Существует несколько способов кодирования.
    Также можно зашифровать предложение с помощью двоичного кода. Определяются параметры (например, «А» - от A до L, «В» - от L до Z). Таким образом, BAABAAAAABAAAABABABB означает TheScience of Deduction ! Этот способ более сложен и утомителен, но намного надежнее алфавитного варианта.

    8. 8. ШИФР БЛЕЗА ВИЖЕНЕРА.
    Этот шифр использовался конфедератами во время Гражданской войны. Шифр состоит из 26 шифров Цезаря с различными значениями сдвига (26 букв лат.алфавита). Для зашифровывания может использоваться tabula recta (квадрат Виженера). Изначально выбирается слово-ключ и исходный текст. Слово ключ записывается циклически, пока не заполнит всю длину исходного текста. Далее по таблице буквы ключа и исходного текста пересекаются в таблице и образуют зашифрованный текст.

    Рис. 4 Шифр Блеза Виженера

    9. 9. ШИФР ЛЕСТЕРА ХИЛЛА
    Основан на линейной алгебре. Был изобретен в 1929 году.
    В таком шифре каждой букве соответствует число (A = 0, B =1 и т.д.). Блок из n-букв рассматривается как n-мерный вектор и умножается на (n х n) матрицу по mod 26. Матрица и является ключом шифра. Для возможности расшифровки она должна быть обратима в Z26n.
    Для того, чтобы расшифровать сообщение, необходимо обратить зашифрованный текст обратно в вектор и умножить на обратную матрицу ключа. Для подробной информации – Википедия в помощь.

    10. 10. ШИФР ТРИТЕМИУСА
    Усовершенствованный шифр Цезаря. При расшифровке легче всего пользоваться формулой:
    L= (m+k) modN , L-номер зашифрованной буквы в алфавите, m-порядковый номер буквы шифруемого текста в алфавите, k-число сдвига, N-количество букв в алфавите.
    Является частным случаем аффинного шифра.

    11. 11. МАСОНСКИЙ ШИФР



    12. 12. ШИФР ГРОНСФЕЛЬДА

    По своему содержанию этот шифр включает в себя шифр Цезаря и шифр Виженера, однако в шифре Гронсфельда используется числовой ключ. Зашифруем слово “THALAMUS”, используя в качестве ключа число 4123. Вписываем цифры числового ключа по порядку под каждой буквой слова. Цифра под буквой будет указывать на количество позиций, на которые нужно сдвинуть буквы. К примеру вместо Т получится Х и т.д.

    T H A L A M U S
    4 1 2 3 4 1 2 3

    T U V W X Y Z
    0 1 2 3 4

    В итоге: THALAMUS = XICOENWV

    13. 13. ПОРОСЯЧЬЯ ЛАТЫНЬ
    Чаще используется как детская забава, особой трудности в дешифровке не вызывает. Обязательно употребление английского языка, латынь здесь ни при чем.
    В словах, начинающихся с согласных букв, эти согласные перемещаются назад и добавляется “суффикс” ay. Пример: question = estionquay. Если же слово начинается с гласной, то к концу просто добавляется ay, way, yay или hay (пример: a dog = aay ogday).
    В русском языке такой метод тоже используется. Называют его по-разному: “синий язык”, “солёный язык”, “белый язык”, “фиолетовый язык”. Таким образом, в Синем языке после слога, содержащего гласную, добавляется слог с этой же гласной, но с добавлением согласной “с” (т.к. язык синий). Пример:Информация поступает в ядра таламуса = Инсифорсомасацисияся поссотусупасаетсе в ядсяраса тасаласамусусаса.
    Довольно увлекательный вариант.

    14. 14. КВАДРАТ ПОЛИБИЯ
    Подобие цифровой таблицы. Существует несколько методов использования квадрата Полибия. Пример квадрата Полибия: составляем таблицу 5х5 (6х6 в зависимости от количества букв в алфавите).

    1 МЕТОД. Вместо каждой буквы в слове используется соответствующая ей буква снизу (A = F, B = G и т.д.). Пример: CIPHER - HOUNIW.
    2 МЕТОД. Указываются соответствующие каждой букве цифры из таблицы. Первой пишется цифра по горизонтали, второй - по вертикали. (A = 11, B = 21…). Пример: CIPHER = 31 42 53 32 51 24
    3 МЕТОД. Основываясь на предыдущий метод, запишем полученный код слитно. 314253325124. Делаем сдвиг влево на одну позицию. 142533251243. Снова разделяем код попарно.14 25 33 25 12 43. В итоге получаем шифр. Пары цифр соответствуют букве в таблице: QWNWFO.

    Шифров великое множество, и вы так же можете придумать свой собственный шифр, однако изобрести стойкий шифр очень сложно, поскольку наука дешифровки с появлением компьютеров шагнула далеко вперед и любой любительский шифр будет взломан специалистами за очень короткое время.

    Методы вскрытия одноалфавитных систем (расшифровка)

    При своей простоте в реализации одноалфавитные системы шифрования легко уязвимы.
    Определим количество различных систем в аффинной системе. Каждый ключ полностью определен парой целых чисел a и b, задающих отображение ax+b. Для а существует j(n) возможных значений, где j(n) - функция Эйлера, возвращающая количество взаимно простых чисел с n, и n значений для b, которые могут быть использованы независимо от a, за исключением тождественного отображения (a=1 b=0), которое мы рассматривать не будем.
    Таким образом получается j(n)*n-1 возможных значений, что не так уж и много: при n=33 в качестве a могут быть 20 значений(1, 2, 4, 5, 7, 8, 10, 13, 14, 16, 17, 19, 20, 23, 25, 26, 28, 29, 31, 32), тогда общее число ключей равно 20*33-1=659. Перебор такого количества ключей не составит труда при использовании компьютера.
    Но существуют методы упрощающие этот поиск и которые могут быть использованы при анализе более сложных шифров.
    Частотный анализ
    Одним из таких методов является частотный анализ. Распределение букв в криптотексте сравнивается с распределением букв в алфавите исходного сообщения. Буквы с наибольшей частотой в криптотексте заменяются на букву с наибольшей частотой из алфавита. Вероятность успешного вскрытия повышается с увеличением длины криптотекста.
    Существуют множество различных таблиц о распределении букв в том или ином языке, но ни одна из них не содержит окончательной информации - даже порядок букв может отличаться в различных таблицах. Распределение букв очень сильно зависит от типа теста: проза, разговорный язык, технический язык и т.п. В методических указаниях к лабораторной работе приведены частотные характеристики для различных языков, из которых ясно, что буквы буквы I, N, S, E, A (И, Н, С, Е, А) появляются в высокочастотном классе каждого языка.
    Простейшая защита против атак, основанных на подсчете частот, обеспечивается в системе омофонов (HOMOPHONES) - однозвучных подстановочных шифров, в которых один символ открытого текста отображается на несколько символов шифротекста, их число пропорционально частоте появления буквы. Шифруя букву исходного сообщения, мы выбираем случайно одну из ее замен. Следовательно простой подсчет частот ничего не дает криптоаналитику. Однако доступна информация о распределении пар и троек букв в различных естественных языках.