Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на вопросы к экзамену.doc
Скачиваний:
78
Добавлен:
29.05.2017
Размер:
386.56 Кб
Скачать
  1. Клиент-серверные технологии

Клиент-сервер — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Физически клиент и сервер — это программное обеспечение. Обычно они взаимодействуют через компьютерную сеть посредством сетевых протоколов и находятся на разных вычислительных машинах, но могут выполняться также и на одной машине. Программы — сервера, ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов посредством HTTP,FTP, BitTorrent, потоковое мультимедиа или работа с базами данных) или сервисных функций (например, работа с электронной почтой, общение посредством систем мгновенного обмена сообщениями, просмотр web-страниц во всемирной паутине).

Архитектура клиент-сервер применяется в большом числе сетевых технологий, используемых для доступа к различным сетевым сервисам. Кратко рассмотрим некоторые типы таких сервисов (и серверов).

Web-серверы: Изначально представляли доступ к гипертекстовым документам по протоколу HTTP (Huper Text Transfer Protocol). Сейчас поддерживают расширенные возможности, в частности работу с бинарными файлами (изображения, мультимедиа и т.п.).

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

Серверы баз данных: Серверы баз данных используются для обработки пользовательских запросов на языке SQL. При этом СУБД находится на сервере, к которому и подключаются клиентские приложения.

Файл-серверы: Файл-сервер хранит информацию в виде файлов и представляет пользователям доступ к ней. Как правило файл-сервер обеспечивает и определенный уровень защиты от несакционированного доступа.

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

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

Почтовые серверы: Представляют услуги по отправке и получению электронных почтовых сообщений.

Серверы удаленного доступа (RAS): Эти системы обеспечивают связь с сетью по коммутируемым линиям. Удаленный сотрудник может использовать ресурсы корпоративной ЛВС, подключившись к ней с помощью обычного модема.

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

«Тонкий» клиент

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

«Толстый» клиент

Таковым является рабочая станция или персональный компьютер, работающие под управлением собственной дисковой операционной системы и имеющие необходимый набор программного обеспечения. К сетевым серверам «толстые» клиенты обращаются в основном за дополнительными услугами (например, доступ к web-серверу или корпоративной базе данных). Так же под «толстым» клиентом подразумевается и клиентское сетевое приложение, запущенное под управлением локальной ОС. Такое приложение совмещает компонент представления данных (графический пользовательский интерфейс ОС) и прикладной компонент (вычислительные мощности клиентского компьютера).

В последнее время все чаще используется еще один термин: «rich»-client. «Rich«-клиент своего рода компромисс между «толстым» и «тонким» клиентом. Как и «тонкий» клиент, «rich»-клиент также представляет графический интерфейс, описываемый уже средствами XML и включающий некоторую функциональность толстых клиентов (например интерфейс drag-and-drop, вкладки, множественные окна, выпадающие меню и т.п.)

Прикладная логика «rich»-клиента также реализована на сервере. Данные отправляются в стандартном формате обмена, на основе того же XML (протоколы SOAP, XML-RPC) и интерпретируются клиентом.

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

  1. Протоколы DNS, HTTP.

DNS (англ.Domain Name System — система доменных имён) — компьютерная распределённая системадля получения информации одоменах. Чаще всего используется для получения IP-адреса по именихоста(компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

Распределённая база данныхDNS поддерживается с помощью иерархииDNS-серверов, взаимодействующих по определённомупротоколу.

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

Начиная с 2010 года в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандартDANEобеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединенийтранспортногоиприкладногоуровней.

DNS обладает следующими характеристиками:

  • Распределённость администрированияОтветственность за разные части иерархической структуры несут разные люди или организации.

  • Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности, и (возможно) адреса корневых DNS-серверов.

  • Кешированиеинформации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.

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

  • Резервирование. За хранение и обслуживание своих узлов (зон) отвечают (обычно) несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов.

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

DNS была разработана Полом Мокапетрисомв1983 году; оригинальное описание механизмов работы содержится вRFC 882иRFC 883. В1987публикацияRFC 1034иRFC 1035изменила спецификацию DNS и отменилаRFC 882,RFC 883иRFC 973как устаревшие.

  • поддержка динамических обновлений

  • защита данных (DNSSEC) и транзакций (TSIG)

  • поддержка различных типов информации

HTTP (англ.HyperText Transfer Protocol — «протокол передачи гипертекста») —протоколприкладного уровняпередачи данных (изначально — в виде гипертекстовых документов в форматеHTML, в настоящий момент используется для передачи произвольных данных). Основой HTTP являетсятехнология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылаютзапрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.

HTTP в настоящее время повсеместно используется во Всемирной паутинедля получения информации свеб-сайтов. В 2006 году вСеверной Америкедоля HTTP-трафикапревысила долюP2P-сетейи составила 46 %, из которых почти половина — это передача потокового видео и звука[1].

HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP,XML-RPC,WebDAV.

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI(Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на серверефайлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе иответеспособ представления одного и того же ресурса по различным параметрам: формату,кодировке, языку и т. д. (В частности для этого используетсяHTTP-заголовок.) Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.

HTTP — протокол прикладного уровня, аналогичными ему являютсяFTPиSMTP. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальныеURI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранитьIP-адресаи заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.

Всё программное обеспечение для работы с протоколом HTTP разделяется на три большие категории:

  • Серверы как основные поставщики услуг хранения и обработки информации (обработка запросов).

  • Клиенты — конечные потребители услуг сервера (отправка запроса).

  • Прокси для выполнения транспортных служб.

Для отличия конечных серверов от прокси в официальной документации используется термин «исходный сервер» (англ.origin server). Один и тот же программный продукт может одновременно выполнять функции клиента, сервера или посредника в зависимости от поставленных задач. В спецификациях протокола HTTP подробно описывается поведение для каждой из этих ролей.

Первоначально протокол HTTP разрабатывался для доступа к гипертекстовым документам Всемирной паутины. Поэтому основными реализациями клиентов являются браузеры(агенты пользователя). Для просмотра сохранённого содержимого сайтов на компьютере без соединения с Интернетом были придуманыофлайн-браузеры. При нестабильном соединении для загрузки больших файлов используютсяменеджеры закачек. Они позволяют в любое время докачать указанные файлы после потери соединения с веб-сервером. Виртуальные атласы, такие какGoogle Планета ЗемляиNASA World Wind, тоже используют HTTP.

Нередко протокол HTTP используется программами для скачивания обновлений.

Целый комплекс программ-роботов используется в поисковых системахИнтернета. Среди них веб-пауки (краулеры), которые производят проход по гиперссылкам, составляют базу данных ресурсов серверов и сохраняют их содержимое для дальнейшего анализа.

  1. HTML (HyperText Markup Language) - язык разметки гипертекста - предназначен для создания Web-страниц. Под гипертекстом в этом случае понимается текст, связанный с другими текстами указателями-ссылками. Для того, чтобы публиковать информацию для повсеместного распространения, необходимо иметь язык, понятный всем компьютерам. Издательский язык, используемый на World Wide Web, называется HTML.

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

HTML представляет собой достаточно простой набор кодов, которые описывают структуру документа. HTML позволяет выделить в тексте отдельные логические части (заголовки, абзацы, списки и т.д.), поместить на Web-страницу подготовленную фотографию или картинку, организовать на странице ссылки для связи с другими документами.

HTML не задает конкретные и точные атрибуты форматирования документа. Конкретный вид документа окончательно определяет только программа-браузер на компьютере пользователя Интернета.  HTML также не является языком программирования, но web-страницы могут включать в себя встроенные программы-скрипты на языках Javascript и Visual Basic Script и программы-апплеты на языке Java.

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

Основными компонентами HTML являются:

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

Атрибут (или аргумент). Атрибут HTML изменяет тег. Например, можно выровнять абзац или изображение внутри тега.

Значение. Значения присваиваются атрибутам и определяют вносимые изменения. Например, если для тега используется атрибут выравнивания, то можно указать значение этого атрибута. Значения могут быть текстовыми, типа left или right, а также числовыми, как например ширина и высота изображения, где значения определяют размер изображения в пикселях.

Теги представляют собой зарезервированные последовательности символов, начинающиеся с < (знака меньше) и заканчивающиеся > (знаком больше).  Закрытие тега отличается от открытия только наличием символа '/'.

Теги могут вкладываться друг в друга иерархически, но без пересечений, то есть допустимо вложение вида <teg1><teg2></teg2> </teg1>, но не<teg1><teg2> </teg1></teg2>. Действие вложенных тагов объединяется.Например, если внутрь тега, создающего жирное начертание шрифта, вложен тег курсива, то в результате получится жирный курсив.

HTML- программа выглядит следующим образом:

<HTML>

<HEAD>

<TITLE> Основы HTML </TITLE> ;

</HEAD>

<BODY>

.... (здесь будут другие теги тела программы)

</BODY>

</HTML>

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

 Еще один тег, который очень важен в HTML-программе, но так же не предназначается для отображения какого-либо объекта в браузере – тег <META>. Этот тег служит специальным целям, а именно - указания языка, на котором написан документ, его кодовой страницы, ключевых слов, используемых поисковыми системами для классификации этого документа и т.п. Теги <META> обычно вставляются в HTML-программу на заключительном этапе создания Web-страницы -публикации.

 Для вставки в HTML-программу фрагмента программ, написанных на языке JavaScript или Viual Basic Script сценариев используют теги<SCRIPT> и </SCRIPT>.

Суммируя вышесказанное приведем общую структуру HTML-файл :

<HTML>

<HEAD>

<Мета-теги>

<Функции скриптов>

<TITLE>Заголовок документа</TITLE>

</HEAD>

<BODY>

Основная часть документа

</BODY>

</HTML>

Заголовки

Каждый пользователь компьютера, работающий в текстовом редактором Microsoft Word знаком с понятием стиля заголовка. В HTML тоже применяется это понятие для структурирования документа и выделения важности заголовка. Всего существуют 6 стилей заголовка. Каждый из них обозначается в HTML-документе парными тегами <Hi> и </Hi> Здесь i обозначает важность стиля. H1 обозначает самый важный стиль заголовка, H2 - стиль заголовка второго уровня, а H6 - стиль заголовка самого нижнего уровня.

В подавляющем большинстве случаев для заголовков Web-страниц используют три первых уровня заголовков <H1><H2> и <H3>. Объясняется это тем, что размеры шрифтов оставшихся заголовков (теги <H4> - <H5>) меньше размера обычного шрифта Web-страницы.

Абзацы

Понятие абзаца в HTML-документе также аналогично понятию абзаца в Microsoft Word. Абзац обозначается в документе парными тегами <P> и</P> . Впрочем, применение закрывающего тега не является строго обязательным.  НО! Специфика тега <P> заключается в том, что после текста, который находится в его пределах, пустая строка добавляется автоматически. Следует помнить и о другой особенности текстовых абзацев: когда текст достигает правой границы окна Web-браузера. переход на новую строку осуществляется автоматически, независимо от расположения тега <P>. Для отдельного абзаца можно указать тип, размер и цвет шрифта отличным от стиля остального документа.

Например: <P ALIGN="CENTER"><B><I><FONT FACE="Arial" SIZE=6 COLOR="#С07080">My greetings to you!</P>

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

Стандартные средства форматирования представлены специальными тегами, которые обязательно являются парными (т.е. имеются открывавающий и закрывающий теги).

Чтобы увеличить размер шрифта на один пункт, используйте тег <big>.

Чтобы выделить текст полужирным шрифтом, воспользуйтесь тегом <b> или тегом <strong>.

Чтобы выделить текст курсивом, воспользуйтесь тегом <i> или тегом <em>.

С помощью тега <small> размер шрифта можно уменьшить на один пункт.

Существуют и другие теги, которые также предназначены для выделения текста.

Кроме того, в HTML включена поддержка математических символов и научных обозначений. Для построения простейших равенств и выражений вам могут пригодиться два тега <sub> (нижний индекс) и <sup> (верхний индекс).

  1. Каскадные таблицы стилей - CSS (Cascade Style Sheets) — представляет собой набор параметров для форматирования, которые используются для управления видом и положением элементов web – страницы сайта.

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

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

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

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

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

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

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

Все перечисленные характеристики использования стилей CSS показывают преимущество при создании сайта перед другими способами верстки сайта.

Знание основ стилей CSS и способов их применения для веб – мастера необходимы, так как это является важным инструментом при самостоятельном создании сайта. Таблицы стилей предназначены для придания страницам сайта единообразного и строгого дизайна Основные тэги к которым применяются  таблицы стилей: BODY, DIV,P, SPAN. Состав и структура стилей: стиль для элемента сайта состоит из  блока описания стиля в котором необходимо   - придать  имя объекту: Border_Object (объект рамка) – задать строку описания {Border: 2px solid red;  }  (ширина, тип, цвет); При помощи атрибута klass  происходит присвоение стиля. Существуют два способа добавления стилей к HTML странице: - описание стилей для элемента сайта непосредственно на странице, которое целесообразно применять для разового объекта. Располагается блок стиля в  тэге head, или непосредственно в тэге body, при помощи тэга span применительно к объекту (span ”style= color #цвет ; и т д”) - описание стилей в отдельном файле Для этого нужно создать в Dreimweawer  новый файл css и сохранить в отдельной папке. /*комментарий  */    (слеш и звездочка) – используют комментарий для удобства. . – точка ставится при создании нового стиля, для зарезервированных тэгов точка не ставится. Создаются необходимые стили. <link href="/../css fail/marks.css" rel="stylesheet" type="text/css"> – одиночный тэг link (ссылка) указывает на адрес папки css и располагается  тэг   в  head

replace_in_text_segment($text); echo $text; ?>

  1. HTML-код страницы помещается внутрь контейнера <HTML></HTML>. Без этих тэгов браузер не в состоянии определить формат документа и правильно его интерпретировать. Web-страница разделяется на две логические части: заголовок и отображаемое в браузере содержание.

Заголовок Web-страницы заключается в контейнер <HEAD></HEAD> и содержит название документа и справочную информацию о странице (например, тип кодировки), которая используется браузером для правильного отображения

Тэги заключаются в угловые скобки и могут быть одиночными или парными. Парные тэги содержат открывающий и закрывающий тег (такая пара тэгов называется контейнером).

Закрывающий тэг содержит прямой слэш (/) перед обозначением. Тэги могут записываться как прописными, так и строчными буквами.

Название страницы помещается в контейнер <TITLE></TITLE> и при просмотре отображается в верхней строке окна браузера.

<HTML>

<HEAD>

<ТITLE>Компьютер</ТITLE>

</HEAD>

<BODY>

Компьютер и ПО

</BODY>

</HTML>

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

Необходимо различать имя файла index.htm, под которым Web-страница хранится в файловой системе, и имя Web-страницы (например, "Компьютер"), которое высвечивается в верхней строке окна браузера. Имя Web-страницы должно соответствовать ее содержанию, так как оно в первую очередь анализируется поисковыми системами.

  1. CSS и способы его подключения.

CSS (Cascading Style Sheets) - каскадные таблицы стилей. Стиль - набор параметров, задающий внешнее представление объекта. Каждый элемент на странице может иметь свой стиль (параграфы, заголовки, линии, текст...). Набор стилей всех элементов называют таблицей стилей. CSS позволяет значительно сократить размер кода и сделать его читабельным. CSS позволяет задавать такие параметры, которые нельзя задать только языком HTML. Например, убрать подчеркивание у ссылок. CSS позволяет легко изменять внешний вид страниц.С CSS связана так называемая блочная верстка сайта.

Способы подключения:

1. когда таблица стилей находится в отдельном файле, она может быть подключена к веб-документу посредством тега <link>, располагающегося в этом документе между тегами <head> и </head>. (Тег <link> устанавливает связь с внешним документом, href - содержит пусть к подключаемому файлу, rel - определяет, что подключаемый файл хранит таблицу стилей.). Все правила этой таблицы действуют на протяжении всего документа;

<!DOCTYPE html>

<html>

<head>

.....

<link rel="stylesheet" href="style.css">

</head>

<body>

.....

</body>

</html>

2. когда таблица стилей находится в отдельном файле, она может быть подключена к веб-документу посредством директивы @import, располагающейся в этом документе между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>) сразу после тега <style>, которая также указывает (в своих скобках, после слова url) на адрес этой таблицы стилей. Все правила этой таблицы действуют на протяжении всего документа;

<!DOCTYPE html>

<html>

<head>

.....

<style media="all">

@import url(style.css);

</style>

</head>

</html>

3. когда таблица стилей описана в самом документе, она может располагаться в нём между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>). Все правила этой таблицы действуют на протяжении всего документа;

<!DOCTYPE html>

<html>

<head>

.....

<style>

body {

color: red;

}

</style>

</head>

<body>

.....

</body>

</html>

4.когда таблица стилей описана в самом документе, она может располагаться в нём в теле какого-то отдельного тега (посредством его атрибута style) этого документа. Все правила этой таблицы действуют только на содержимое этого тега.

<!DOCTYPE>

<html>

<head>

.....

</head>

<body>

<p style="font-size: 20px; color: green; font-family: arial, helvetica, sans-serif">

.....

</p>

</body>

</html>

В первых двух случаях говорят, что к документу применены внешние таблицы стилей, а во вторых двух случаях — внутренние таблицы стилей.

  1. CSS селекторы.

Селектор - это часть CSS-правила, которая сообщает браузеру, к какому элементу (или элементам) веб-страницы будет применён стиль.В качесте селекторов может выступать любой тег HTML, также есть селекторы класса либо id-селекторы.

1.Селекторы тэгов

Вы можете выбирать элементы на странице для оформления по названию тэга.

p

{

color:green;

}

h2

{

color:red;

}

2.Селектор id

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

Идентификатор для элемента задается с помощью атрибута id (<p id="идентификатор">текст</p>).

Для того, чтобы затем оформить данный элемент необходимо обратиться к идентификатору в таблицах стилей добавив перед ним символ "#" (#идентификатор {color:red}).

/* Оформим элемент с id="test1" */

#test1

{

color:green;

font-family:verdana;

font-size:1.2em;

}

3.Селектор class

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

С помощью атрибута class можно задать, что элемент относится к группе (<p class="имя_группы">текст</p>).

Для того, чтобы затем оформить эту группу необходимо в таблицах стилей обратится к имени группы добавив перед ней символ "." (.имя_группы {color:red}).

/* Свойства будут применены ко всем элементам с class="test1" */

.test1

{

color:green;

font-family:verdana;

font-size:1.2em;

}

4.Селекторы атрибутов

Элементы на странице могут быть выбраны по их атрибутам.

/* Оформит все элементы имеющие атрибут src */

[src]

{

border:solid green 3px;

}

5.Комбинирование селекторов

Для более точного выбора элементов в CSS может использоваться комбинирование селекторов.

Например, Вы можете комбинировать селекторы тэгов с селекторами class:

/* Свойства будут применены только к тем элементам с class="test1", которые являются заголовками */

h2.test1

{

color:green;

font-family:verdana;

font-size:1.2em;

}

Также Вы можете комбинировать селекторы тэгов:

/* Свойства будут применены только к тем элементам p, которые находятся внутри элементов div */

div p

{

color:green;

font-family:verdana;

font-size:1.2em;

}

6.Группировка селекторов

Часто при оформлении HTML документов с помощью CSS приходится применять одинаковые свойства для разных селекторов, например:

h1

{

font-family:verdana;

color:green;

}

h2

{

font-family:verdana;

color:green

}

p

{

font-family:verdana;

color:green;

}

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

h1,h2,p

{

font-family:verdana;

color:green;

}

  1. CSS и наследование.

Как совершенно явно вытекает из самого названия, наследование предполагает перенос правил стилей для элементов, находящихся внутри других. Такие элементы называются дочерними и они наследуют стилевые свойства своих родителей.Дочерние элементы (которые находятся внутри других) наследуют стили от своих предков. И нам нужно прописать стили только на самом верхнем уровне — и они применятся на всех уровнях.

Например, все элементы, расположенные внутри элемента <body>, являются его дочерними элементами и потомками. Если в стиле для <body> задать с помощью CSS свойства color красный цвет текста, то цвет текста всех его дочерних элементов и потомков тоже станет красным:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Название документа</title>

<style>

body { color: red; }

</style>

</head>

<body>

<h1>Цвет текста заголовка красный</h1>

<p>Цвет текста абзаца тоже красный.</p>

</body>

</html>

Нужно учесть, что элемент будет наследовать только те стили, которые он поддерживает. Так, строчные элементы не смогут наследовать свойства, предназначенные для блочных элементов, например height (высота).

  1. HTML формы.

Веб-формы – удобный способ получения информации от посетителей вашего сайта.

1. Текстовое поле

<input type="text" /> определяет однострочное текстовое поле, в которое пользователь может вводить различную информацию.

<form>

<p> Введите ФИО в поля ниже: </p> <br />

Имя: <input type="text" name="firstname" /><br />

Фамилия: <input type="text" name="lastname" /><br />

Отчество: <input type="text" name="lastname" />

</form>

2.Поле пароля

<input type="password" /> определяет поле для ввода пароля. Содержимое вводимое в данное поле закрывается черными кружками позволяя вводить пароли даже в присутствии посторонних.

<form>

Введите пароль: <input type="password" name="pass" />

</form>

3.Кнопка отправления

<input type="submit" /> определяет кнопку отправления. После нажатия на данную кнопку данные введенные пользователем будут отправлены на сервер.

Адрес, на который будут пересылаться данные формы указывается в атрибуте тэга form - action. Если данный атрибут отсутствует данные будут отправлены на текущую страницу.

<form name="input" action="form.php" method="get">

Введите Ваше имя: <input type="text" name="name" />

<input type="submit" value="Отправить" />

</form>

4.Выпадающий список

Для создания выпадающих списков используется тэг <select>, а элементы выпадающего списка определяются с помощью тэга <option>.

<p> Выберите ваш пол </p>

<form>

<select name="sex" >

<option value="m"> Мужской </option>

<option value="f"> Женский </option>

</select>

</form>

5.Заголовки в формах

Для того, чтобы озаглавить группу элементов формы, Вы должны с помощью тэга <fieldset> сгруппировать желаемую часть формы и затем с помощью тэга <legend> установить желаемое заглавие.

<form>

<fieldset>

<legend>Данные о пользователе</legend>

Имя: <br /><input type="text" name="firstname" /><br />

Фамилия:<br /> <input type="text" name="lastname" /><br />

Отчество: <br /><input type="text" name="lastname" /><br />

</fieldset>

</form>

  1. Python основные особенности языка.

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

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

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

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

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

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

Основные особенности:

• минималистичность синтаксиса

• простота изучения

• широкие возможности

• поддержка разных парадигм программирования

• интерпретируемый

• динамическая типизация

• открытость

• кроссплатформенность

• существование альтернативных реализаций, которые решают определённые проблемы (Stackless

Python, PyPy) или интегрируют его в определённую платформу (IronPython для .NET, Jython для Java);

• активно развивается

  1. Тип данных (тип) — множество значений и операций на этих значениях.

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

• Операция назначения типа информационным сущностям называется типизацией.

Типизация Статическая Динамическая

Сильная (строгая) C#, Java, Haskell, Scala Python, Ruby

Слабая C JavaScript, PHP

Числовой тип данных в Python:

Числовой тип данных в Python предназначен для хранения числовых значений. Это неизменяемый тип данных, что означает, что изменение значения числового типа данных приведет к созданию нового объекта в памяти (и удалению старого)

В Python есть четыре вида числового типа данных:

int (целое число)

long (длинное целое число [может быть представлено в восьмеричной или шестнадцатеричной системе исчисления])

float (число с плавающей точкой: -0.2, 0.0, 3.14159265 и т.д.)

complex (комплексное число)

Строки в Python:

Под строками в Python подразумевается набор символов между кавычками. В Python можно использовать пары одинарных либо двойных кавычек. Из строк можно взять подстроку используя оператор нарезки ( [ ] и [ : ] ) с индексами от нуля для первого символа строки и до последнего. Так же можно использовать обратную индексацию от -1 для последнего символа до начала.

  1. Операции с числами

x + y сумма

x – y разница

x * y произведение

x / y частное

x // y операция целочисленного деления

x % y остаток от деления

-x число, противоположное x

+x x

abs(x) модуль числа x

int(x) преобразовать x в целое число

float(x) преобразовать x в комплексное число

complex(re, im) создать комплексное число re + im*i

c.conjugate() число, сопряжённое комплексному числу c

x ** y ; pow(x, y) x в степени y

round(x) ; round(x, n) округлить действительное число x (до n цифр после запятой, если n указано)

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

• Можно импортировать модуль math, написав import math, и использовать его функции и

константы.

Некоторые функции и константы модуля math

math.trunc(x) отбросить дробную часть действительного числа x, возвращает целое число

math.floor(x) наибольшее целое число (целое в математическом смысле, а не как тип данных), которое не превосходит данное вещественное число

math.ceil(x) наименьшее целое число, большее или равное данному вещественному

math.pi, math.e константы π, e

math.sin, math.cos и т.д. математические функции; полный их список можно посмотреть в документации или набрав в консоли интерпретатора:

import math

dir(math)

Логические операции в Python

x or y если x – ложь, то y, иначе x

x and y если x – ложь, то x, иначе y

not x если x – ложь, то True, иначе False

Операции сравнения

С операциями <, >, <=, >= можно использовать двойные сравнения, например, -2 <= x < 3.

x < y x строго меньше y

x > y x строго больше y

x <= y x меньше или равен y

x >= y x больше или равен y

x == y x равен y

x != y x не равен y

x is y x и y – это один и тот же объект

x is not y x и y не являются одним и тем же объектом в памяти

Строки – текстовые данные типа str.

• Строковые литералы (значения, которые задаются в коде) обрамляются с обоих сторон одинарными или

двойными кавычками.

• Несколько строковых литералов подряд распознаются как одна строка.

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

• использовать специальную последовательность символов \n ;

• расположить несколько строковых литералов на разных строках кода, не добавляя между ними никаких операций;

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

s1 + s2 конкатенация (объединение) строк

s % x

s % (x1, x2, …, xn) форматирование строки в стиле C

s – форматная строка, x1…xn – значения

s.format(args) форматирование строки в стиле C#

s[i] символ, который стоит в строке s на позиции i (нумерация начинается с нуля)

  1. Ввод

Для ввода данных с клавиатуры можно использовать функцию input:

input(prompt)

input()

• Если параметр prompt задан, то он выводится, как поясняющий текст, приглашение ко вводу.

• Функция приостанавливает выполнение программы, пока пользователь не введёт строку текста, считывает её и возвращает.

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

Вывод

Для вывода значений на экран служит функция print:

print(*objects, sep=' ', end=

'\n', file=sys.stdout, flush=False)

где

• objects – это объекты, которые необходимо вывести

• sep – разделитель

• end – строка, которую необходимо вывести после всех объектов

• file – файл, в который необходимо вывести данные

• flush – нужно ли сразу после вывода сбросить содержимое буфера в файл. Если вы выводите информацию на одной строке через продолжительные промежутки времени, и она не появляется на экране, пока вы не выведете символ новой строки, добавьте параметр flush=True

Ни один из этих параметров не является обязательным.

  1. Python операторы типа IF и конструкции с ветвлениями

Разветвляющийся алгоритм — алгоритм, содержащий хотя бы одно условие, в результате проверки которого может осуществляться разделение на несколько параллельных ветвей алгоритма. То есть, разветвляющийся алгоритм содержит условия, в зависимости от которых выполняется одна или другая последовательность действий. Каждая из них, в свою очередь, также может (но не обязана) содержать ветвления.

if условие:

операторы

Здесь:

• условие – это логическое выражение,

• операторы – это последовательность каких-либо других команд.

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

if условие: операторы

Здесь операторы, если их несколько, разделяются символом точки с запятой.

if условие:

блок_операторов_1

else:

блок_операторов_2

Здесь, если условие истинно, выполняются операторы из первого блока, иначе из второго.

Вложенность операторов

Так как блоки операторов внутри if могут содержать любые операторы и их последовательности, операторы if могут быть вложенными. Пример:

if 0 < x < 7:

print('Значение x входит в заданный диапазон, продолжаем')

y = 2 * x - 5

if y < 0:

print('Значение y отрицательно')

else:

if y > 0:

print('Значение y положительно')

else:

print('y = 0')

Каскадирование операторов ветвления

if условие1:

команды1

else:

if условие2:

команды2

else:

if условие3:

команды3

...

else:

if условиеN:

командыN

else:

командыM

Оператор ветвления с несколькими условиями

if условие1:

операторы1

elif условие2:

операторы2

elif условие3:

операторы3

...

else:

операторыN

Как и в операторе ветвления с одним условием, ветка else не является обязательной.

Условное выражение

Довольно часто возникает ситуация, когда нам нужно использовать то или иное выражение в зависимости от определённого условия. Поэтому существует такая конструкция, как условное выражение (или, иначе, «тернарный оператор»).

• Синтаксис условного выражения в Python:

выражение1 if условие else выражение2

• Результатом всего этого выражения является значение первого выражения, если условие

истинно, или второго, если ложно.

Логические значения объектов

Любой объект в Python может быть рассмотрен как логическое значение для использования в условии оператора if, конструирования значения типа bool или использования как операнда логических операций.

• Изученные в предыдущем уроке типы (NoneType, bool, int, float, complex, str) отображаются на логические значения так: None, False, 0, 0.0, 0j и '' (пустая строка) считаются ложными значениями, все остальные – истинными.

• Пример. Вместо if string is not None and string != '': num = int(string)

можно записать

if string: num = int(string)

  1. Python циклические конструкции и оператор while

Цикл — это управляющая конструкция, предназначенная для многократного исполнения набора инструкций.

Виды циклов:

• цикл с предусловием

• цикл с постусловием

• цикл со счётчиком

• совместный цикл

Цикл с предусловием

Цикл while

while условие:

операторы

• условие – это логическое выражение,

• операторы – это последовательность каких-либо других команд.

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

Операторы break и continue

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

while True:

response = input(’Введите команду’)

if response == ’exit’:

break

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

x = 0

while x < 10:

x += 1

if x == 5:

print(’Текущее число равно’, x)

print(’(но число 5 мы не выводим)’)

continue

Цикл while с веткой else

while условие:

блок_операторов_1

else:

блок_операторов_2

Оператор while также может иметь ветку else (по аналогии с if). Вначале каждой итерации интерпретатор проверяет истинность условия выполнения цикла, и если оно истинно, то исполняет ветку while, иначе он исполняет ветку else (если она присутствует) и завершает выполнение цикла, причём это может произойти и перед первой итерацией, если условие изначально было ложным. Однако если цикл был прерван оператором break, то ветка else не исполняется.