Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Все устройства, подключенные к сети – узлы. Любая ЭВМ, подключенная к сети, должна иметь адрес, который является 32-разрядным двоичным числом. Он д.б. уникален.
Любой IP можно логически разделить на 2 части:
1) идентификатор сети
2) идентификатор узла
В связи с этим сети бывают 5 классов: A, B, C, D, E. Microsoft поддерживает первые 3 класса.
Сети класса А. Для идентификатора сети отводится 1 байт. Значения номера сети: 1-126, длина идентификатора узла: 24 разряда. Это крупные сети – более 16 млн. узлов. Их м.б. до 126 штук.
Сети класса В. Для идентификатора сети отводится 2 байта. Значения номера сети: 128-191, длина идентификатора узла: 16 разрядов. Номер 127 зарезервирован и не м.б. использован как идентификатор, он используется для диагностики и выступает локальной заглушкой.
Сети класса С. Для идентификатора сети отводится 3 байта. Значения номера сети: 192-223, длина идентификатора узла: 1 байт. Этих сетей около 2 млн., м подключить 222 узла.
Сети класса D. Значения номера сети: 224-239. Эти сети используются для рассылки почтовых сообщений.
Сети класса E. Для идентификатора сети отводится 1 байт. Значения номера сети: 240-255. Экспериментальные сети, сейчас не используются.
IP записывают в виде четырех десятичных чисел, разделенных точкой, по нему можно сразу определить, к какому классу он принадлежит.
1) 0000 – для передачи пакетов самому себе
2) 127 001 – для тестирования своих приложений
3) IP, в котором номер узла равен нулю, используется для обозначения сети
Например, 194.65.24.0 – обозначение сети класса С
Если номер узла равен 255, то он используется как широковещательный адрес, с помощью которого можно передавать пакеты всем узлам указанной сети.
IP м.б. постоянным или динамическим, последний дается при каждом новом подключении к сети.
Маска подсети
Маска – 32-разрядное число, предназначенное для выделения идентификатора сети и идентификатора узла из IP для того, чтобы выяснить, относится тот или иной адрес к локальной или удаленной сети.
Маску подсети м. иметь каждый узел TCP/IP. Она Мб по умолчанию, если сеть не делится на подсети, или специальным образом, если подсети есть. По умолчанию маска должна иметь следующие значения:
Для класса А: 255.0.0.0
Для класса В: 255.255.0.0
Для С: 255.255.255.0
Программирование в web: доступ к БД на стороне сервера.
При разработке прикладных программ, работающих с БД на серверах используют 2 метода доступа к БД:
1. Доступ к БД на стороне сервера.
2. Доступ к БД на стороне клиента.
Механизм доступа на стороне сервера реализуется за счет наличия 2 или более стандартных средств:
а) возможность включения форм в документ, составленный на языке html;
б) возможность использования внешних по отношению к серверу web-программ, взаимодействие которых происходит через спец. протокол CGI и API.
Хотя CGI называют общим интерфейсом шлюзования, по сути это, с одной стороны, подмножество протокола http, с другой, способ его соблюдения при взаимодействии сервера с внешней программой.
Общая схема реализации доступа к БД на стороне web-сервера при использовании cgi выглядит след. образом:
1) клиент встречает страницу html с незаполненной формой;
2) он заполняет эту форму и отправляет на сервер;
3) получив заполненную форму, сервер запускает соответственную внешнюю программу, передавая ей параметры и получая результаты на основе протокола CGI.
4) внешняя программа преобразует запрос, выраженный с помощью заполненной формы, в запрос на языке, понятном SQL-серверу БД.
5) внешняя программа взаимодействует с сервером БД. Оно м.б. прямым, если внешняя программа жестко привязана к конкретному SQL-серверу или с использованием протоколов и соответствующего драйвера ODBC, если жесткая привязка отсутствует;
6) после получения результата запроса к БД внешняя программа формирует html страницу, передает ее серверу и завершает свое выполнение;
7) сервер передает сформированную html страницу клиенту.
После этого программа доступа к БД заканчивается и сервер разрывает свое соединение с клиентом.
Любая внешняя программа, запускаемая сервером (web-сервером), в соответствии со спецификацией cgi, называется cgi-скриптом. Она м.б. реализована на любом ЯП, в т.ч. и на любом командном языке.
CGI-скрипт, выполняющий роль посредника между web-сервером и другими видами серверов, называется шлюзом.
Шлюзы обеспечивают связь между различными архитектурами и серверами. Они переупаковывают и преобразуют данные, переданные из одной среды в другую, чтобы каждая среда могла понимать действия другой среды. Шлюзы создаются для выполнения конкретного типа задач, т.е. для конкретного типа преобразования данных. В частности, CGI-скрипт на стороне сервера позволяет перенести часть логики приложения с клиента на сервер.
В спецификациях CGI существуют способы взаимодействия web-сервера и скриптов. Например, предусмотрено использование созданных сервером переменных окружения, через которые передается как общая информация, не зависящая от особенностей скрипта, так и специфические данные, определяющие поведение cgi-скрипта.
Предусмотрено использование входных параметров, которые передаются cgi-скрипту через файл стандартного ввода. В свою очередь, cgi-скрипт может передать web-серверу результирующие данные через файл стандартного вывода.
Интерфейс api – способ выполнить в адресном пространстве сервера web-программу, которая соответствует спецификации на языке html. Такая программа д.б. заранее подготовлена и включена в библиотеку, из которой сервер производит динамическую загрузку. Применение api имеет ряд преимуществ по сравнению с cgi-скриптами:
1) библиотеки расположены в адресном пространстве сервера и, следовательно, имеют доступ ко всем атрибутами доступа;
2) они быстрее загружаются в память;
3) м. контролировать загрузку этих библиотек, т.е сначала их м. загружать для более быстрого доступа, а затем выгружать для освобождения системных ресурсов.
8. Программирование в web: доступ к БД на стороне клиента.
При разработке прикладных программ, работающих с БД на серверах используют 2 метода доступа к БД:
1. Доступ к БД на стороне сервера.
2. Доступ к БД на стороне клиента.
Эту возможность обеспечивает применение java-технологий. Получив доступ к документу, который содержит ссылки на апплеты, клиент запрашивает у web-серверов все коды этого апплета.
Эти коды м. начать выполняться сразу после размещения на компьютере-клиенте или же быть активизированными после выполнения специальных команд. Т.к. апплет представляет собой java-программу, то он м.б. специализирован для работы с внешними БД.
Для взаимодействия java-программ с внешним сервером БД разрешен спец. протокол JDBC, который фактически сочетает в себе функции шлюзования между интерпретатором java-кодов и ODBC.
Использование cgi-скриптов на стороне сервера позволяет иметь на стороне клиента сравнительно простые программы просмотра, т.к. вся логика работы с БД, обработка БД переходит на сторону web-сервера.
Разгрузку клиента от логики приложения называют решением проблемы толстого клиента. Т.е мы имеем предельно тонкого клиента при утолщении web-сервера.
При этом, если необходимо подключить новые cgi-скрипты, то требуется модификация кода сервера, но для включения нового апплета требуется лишь перекомпилировать код результирующего html-документа.
При этом web-сервер трогать не нужно, но в этом случае клиент д.б. достаточно толстым, чтобы в нужное время справиться с интерпретацией всех кодов апплета.
2 метода:
1. Query_String
2. Path_Info
Данные два метода помещают передаваемые данные за именем cgi-проги
3. Get
4. Post
Они указываются непосредственно в файле html как атрибут тега форм.
Query_String – простой метод передачи данных cgi-скрипта. Если к URL добавить знак?, а после него указать данные, то они будут переданы в переменные окружения qustr. Например http://localhost/1.exe?param Используя qustr в url или ссылки можно передавать данные в скрипт без формы. Если в форме указывается метод get, то все данные из формы будут преобразованы в qustr и будут передаваться скрипту.
Недостатки qustr и метода get:
1. Ограничение на длину;
2. URL включающие qustr попадает в журнальные файлы доступа, которые ведут большинство серверов, в них фиксируется запрос к серверу и его ответ.
Прежде чем запустить скрипт, пользователь должен заполнить форму html. Данные формы состоят из отдельных элементов, каждый из которых имеет свое имя и значение. Броузер упаковывает данные формы, используя следующие правила:
1. Все передаваемые данные из формы объединяются в 1 строку парами вида: name=value; разделитель пар - знак &
2. Любые пробелы, встречающиеся в имени или значении, заменяются знаком «+». Это обусловлено тем, что URL не может содержать пробелы
3. Все др знаки, встречающиеся в имени или значении заменяются на $, за которым следует 2ух…16ричный код ascii заменяемого символа.
Path_Info в URL следует за именем скрипта, нач. с /, который показывает web-серверу, где заканчивается имя скрипта. http://localhost/1.exe/param.txt
Path_Info содержит некоторый логический путь к какому-либо файлу. Можно одновременно передавать path_info и qustr, но надо помнить, что первым передается Path_Info, а затем qustr, иначе qustr может поглотить Path_Info и передать как параметр.
Недостатки Path_Info:
1. Ограничение на длину
2. Фиксирование в журналах данных
3. Данный метод автоматически не кодируется в URL как qustr.
Дата публикования: 2015-11-01; Прочитано: 183 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!