Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практична №1.docx
Скачиваний:
2
Добавлен:
26.11.2018
Размер:
249.37 Кб
Скачать

Зв'язок між рівнями стека протоколів мережі Інтернет і адресацією

У мережі Інтернет використовуються три різні рівні адрес: фізична адреса (лінія зв'язку), інтернет-адреса (IP) і адреса порту (Рис. 1.3).

Рис. 1.3.  Адреси TCP/IP

 

Кожна адреса належить заданому рівню TCP/IP-архітектури, як це показано на (Рис. 1.4).

Рис. 1.4.  Взаємодія рівнів стека протоколів Інтернет і адрес

 

Історія технологій, що працюють з динамічним вмістом Web До сьогоднішнього дня було чимало методик роботи з динамічним вмістом Web. Найстарішою з них, яка підтримується більшістю HTTP-серверів, є загальний шлюзовий інтерфейс (CGI). За допомогою змінних середовища, CGI-програма приймає дані заголовка HTTP-запиту, що відправляються з Web-браузера. Крім того, така програма, користуючись перенаправленим стандартним вхідним потоком, приймає дані запиту через Web-сервер, а потім генерує динамічний HTML для передачі клієнту через той же Web-сервер, використовуючи перенаправлений стандартний вихідний потік. Звичайно, застосування змінних середовища, стандартних вхідного і вихідного потоків є способом не дуже ефективним, зате працюють однаково на більшості Web-серверів, розміщених як в Unix, так і в Windows. Для кожного клієнтського запиту загальний шлюзовий інтерфейс (CGI) створює новий процес, а це занадто дорого обходиться з точки зору продуктивності та використання ресурсів. Так що ефективно обробити велику кількість клієнтських запитів за допомогою загального шлюзового інтерфейсу (CGI) не вдається. До того ж, Web-сервер і CGI-процес знаходяться в різних адресних просторах. Тому загальний шлюзовий інтерфейс (CGI) страждає ще й від накладних витрат, що викликаються великою кількістю взаємодій між процесами. Що стосується інтерфейсу прикладного програмування Internet-сервера ISAPI, який представляє собою технологію на основі інформаційного сервера Internet (Internet Information Server, US), то він вирішує проблеми з продуктивністю і масштабуванням, виконуючи замість CGI-процесу вбудовану в процес динамічно під'єднувану бібліотеку (DLL) інтерфейсу прикладного програмування Internet-сервера (ISAPI). На вимогу ця бібліотека завантажується в адресний простір інформаційного сервера Internet (IIS) і спільно використовується багатьма Web-клієнтами. Інтерфейс прикладного програмування Internet-сервера (ISAPI) містить інтерфейси прикладного програмування (API), які необхідні для доступу до клієнтських запитів, і, зокрема, до вхідних параметрів і HTTP-заголовках. Для читання даних, що знаходяться в запитах, інтерфейс прикладного програмування Internet-сервера (ISAPI) організовує вхідний потік, а для відправлення клієнту, у відповідь на його запит, динамічно створеного HTML-коду - вихідний потік. Такий підхід набагато ефективніше, ніж використання загального шлюзового інтерфейсу CGI, тому що новий процес не створюється, і, отже, взаємодія процесів на сервері не потрібно. Що стосується технології ASP, то для розробки на високому рівні динамічного Web-вмісту вона є досить зручним засобом. Ця технологія використовує інтерфейс прикладного програмування Internet-сервера (ISAPI), але при цьому не настільки ефективна, як інтерфейс прикладного програмування Internet-сервера (ISAPI) в чистому вигляді. ASP фактично реалізована у вигляді заздалегідь підготовленої, досить універсальною динамічно під'єднуєднуваної бібліотеки (DLL) інтерфейсу прикладного програмування Internet-сервера (ISAPI), яка реалізує машину сценаріїв. У свою чергу машина сценаріїв потім інтерпретує ASP-сторінку. Така сторінка схожа на звичайну HTML-сторінку, за винятком того, що містить вбудовані фрагменти ASP-коду, написані у вигляді сценарію. Цей код не компілюється, а інтерпретується машиною сценаріїв. Для інтерпретації можна використовувати будь-яку мову підготовки сценаріїв, яка встановлений на Web-сервері, який підтримує ASP. За замовчуванням інформаційний сервер Internet (П5) автоматично підтримує VBScript і JScript. Недоліком ASP є те, що інтерпретується, код, природно, працює повільніше, ніж виконує ті самі дії скомпільований код, в якому використовується інтерфейс прикладного програмування Internet-сервера (ISAPI). Іншим недоліком ASP є те, що мови підготовки сценаріїв не забезпечують типову безпеку, що може призвести до помилок часу виконання, які було б краще запобігти ще під час компіляції. Ну і, нарешті, мови підготовки сценаріїв не є об'єктно-орієнтованими і тому не можуть служити в якості мов програмування високого рівня, що використовуються для програмування великих систем. А ось величезною перевагою ASP є те, що мови підготовки сценаріїв зазвичай дуже легкі для вивчення. Зокрема, VBScript відомий величезній кількості людей. Те, що мови підготовки сценаріїв, подібні VBScript, не є об'єктно-орієнтованими, частково компенсується їх здатністю викликати серверні СОМ-компоненти. Справа в тому, що ці компоненти можна писати на потужних об'єктно-орієнтованих мовах, таких, як C++. Інша перевага ASP перед інтерфейсом прикладного програмування Internet-сервера (ISAPI) полягає в тому, що ASP чудово підходить для роботи з сервером транзакцій корпорації Microsoft (Microsoft Transaction Server, MTS). Це дає можливість автоматизувати організацію потокової обробки, а також керування синхронізацією, обробкою транзакцій і безпекою. Технологія ASP.NET, на щастя, зберігає всі переваги традиційної ASP і позбавлена від більшості її недоліків, в тому числі і зниження продуктивності. Замість інтерпретатора мов підготовки сценаріїв ASP.NET використовує компільовані мови платформи. NET, такі, наприклад, як С #, VB.NET і навіть керований C++. Таким чином, тепер вже можна вибирати з декількох технологій. Це загальний шлюзовий інтерфейс (CGI), інтерфейс прикладного програмування Internet-сервера (ISAPI), ASP і ASP.NET. Ще є бібліотека шаблонних класів ATL. Так само, як і ASP.NET, бібліотека шаблонних класів ATL дає можливість розробляти як Web-вузли, так і Web-служби. Втім, сервери та служби на основі бібліотеки шаблонних класів ATL створюються за допомогою бібліотеки шаблонів для C++, розробленої на основі технології ISAPI (інтерфейс прикладного програмування Internet-сервера).