Вход:  Пароль:  
FreeSource: NickGavrikov/InternetInformationServer70 ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

IIS 7.0

Занесло меня на семинар Microsoft 6 mar 2007. Был там очень интересный доклад Intel (собственно, только ради него имхо стоило бы сходить), но помимо этого, мне наконец-то доходчиво рассказали про HTTP-сервер микрософта, и в нем действительно есть интересные идеи, которых подчас нет в апаче и других opensource HTTP-серверах. По настоятельной просьбе Администрации :-) спешу поделиться. Сразу говорю, что во-первых, кое-что я уже подзабыл, и если вспомню, буду поднабивать попозже, а во-вторых, на презентации обычно все очень хорошо и красиво, как мы все знаем, а в жизни оказывается немного хуже. Так вот, это данные, полученные с презентации, а не из реального опыта. Возможно что-то на самом деле не работает или работает не так как я понял. Но это в данном случае не важно, поскольку интерес представляют именно идеи, которые можно реализовать, а не конкретная реализация оффтопичного софта.

Итак,


1. Все конфиги XML. Конфиги не разбросаны по всей системе, а сложены в одной конкретной директории. Ты как разработчик щелкаешь клавишами в своей любимой Visual Studio, пишешь любые скрипты, отлаживаешь сайт – после чего переписываешь папочку с конфигами на сервер – и он начинает работать гарантировано точно так же, как и твой комп.


Ограничения данного пункта:


a) Если ты добавляешь новый модуль – ты должен зарегистрировать его в Program Cache что-то-там (не помню как называется), простого копирования папочки недостаточно


б) Если тебе админ запретил что-то настраивать – ты это настроить не сможешь :-)


2. Редактировать конфиги можно:


а) через Микрософт-вин-морду, работающую с сервером через HTTP (по поводу SSL не знаю). Через прокси работает.
б) через хорошо документированное и продуманное API
в) вручную с помощью текстового редактора (Подсветка синтаксиса, autoindent, Intelli Science?, folding в VS2005 Действительно Рулят. Удобнее текстового редактора для исходных кодов я не видел)
г) всеми средствами, которые были доступны в IIS6.0 (обратная совместимость тут сохраняется, т.е. любой сайт, написанный для IIS6.0 в 7.0 заработает без переделок)


3. Полностью модульная архитектура. В дефолтной версии включено порядка 50–60 модулей, все примеры и руководства настоятельно рекомендуют включать только те модули, которые используются. Все примеры приведены, разумеется, с конфигами (XML).


Ограничения/недоделки:


а) Поскольку модулей фигова туча, разбираться что для чего нужно по-моему немного неудобно. Было бы интереснее с моей точки зрения, подгружать модули «по требованию».


б) После того как ты поменял в конфиге что-то про загрузку модулей, сервер впадает в ступор и примерно секунд 30–40 ничего никому не говорит


в) Благодаря well-document-API написать утилитку, которая будет смотреть какие в данный момент загружены модули – дело 10 минут, включая 5 минут на заваривание чая и 4 минуты ожидания пока загрузится супер операционка Windows Vista. Почему такую утилитку не написали мелкомягкие – ХЗ.


4. Написание своего модуля – очень простая задача, которая прекрасно описана, включая примеры. Причем, это касается не только, например, выдачи контента. Это касается, в частности, и конфигурирования. Т.е. ты рисуешь форму, которая появляется в общем администраторском интерфейсе, описываешь названия параметров которые ты конфигуришь (как это будет выглядить в XML) и пишешь код. NET: все действительно легко и просто.


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


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


6. Существенно пересмотрены способы авторизации пользователей на сайте. В частности, в апаче штатно можно только делать авторизацию типа Basic со всплывающим окном, спрашивающим логин и пароль. В IIS7.0 рекомендуют использовать Web-авторизацию – например, на главной странице ставить поля для ввода логина и пароля, причем теперь такая авторизация работает примерно так же, как и .htaccess/Basic в апаче, т.е. статику, например, которая требует авторизации, ты так же просмотреть не сможешь. При попытке просмотра картинки (например) тебя перекинут на главную страницу, когда ты введешь на ней логин и пароль – тебя обратно перекинут на ту картинку, которую ты хотел смотреть с самого начала.


Модулей авторизации есть несколько, ты можешь включать любой из них, а можешь написать свой собственный. Никакого геморроя с хаком заголовков как в Apache / PHP? не нужно. Опять же, есть отличная документация и работающие примеры.


7. Полная обратная совместимость с IIS6.0, в частности, ее можно включить и для конкретной директории. Там по заверениям авторов, все работает именно так как было раньше, даже старые откровенные глюки-недоделки работают :-)



 
Файлы [Скрыть файлы/форму]
Много комментариев (3). [Показать комментарии/форму]