Web- приложения архитектуры
Web применение архитектур наиболее тесно примерная централизованной модели вычислений, и многие распространен "тонких" клиентов, как правило, выполняют не более чем представление данных при подключении к центральным "толстые" сервера, что это основная часть обработки. Какие наборы Web архитектур помимо традиционной централизованной вычислительной модели (например, ЭВМ, вычислительных), что они полагаются в основном на технологию общедоступной в World Wide Web, то язык гипертекстовой разметки (HTML), и его главная транспортная среда, протокола передачи гипертекстовой информации (HTTP ).
Хотя HTML и HTTP определить типичного применения архитектуры Web, существует гораздо больше на Web приложений, чем этих двух технологий.
Несколько слов о HTML
Хотя HTML становится гораздо менее важным компонентом Web приложений, как мы это написать, это просто не представляется целесообразным исключить упоминание его полностью, поскольку она была столь важное значение для скорейшего развития Интернета. Мы дадим очень краткий обзор языка здесь, поскольку есть несколько объемных грунтовки имеющихся, которые охватывают все аспекты ее. Наше внимание будет уделяться безопасности, связанных с HTML.
Как язык разметки, HTML определяется так называемых тегов, которые определяют формат или возможностей элементов документа. Теги в HTML имеют определенный угол скобки <и>, и может определять широкий спектр форматов и функций, определенных в спецификации HTML. Вот простой пример основные структуры HTML документа:
<HTML>
<H1> Это первый уровень заголовка </ H1> <p> Это первый пункт. </ р> </ HTML>
Когда отображается в веб-браузере, теги устно и документ элементы приводятся формы или функции определяются теги, как показано на следующей иллюстрации (мы будем обсуждать в ближайшее время браузеров).
Как мы видим в этом примере, текст прилагается к <H1> </ H1> кронштейнов формата с большим, boldfaced шрифт, в то время как <P> </ р> текст принимает форму необходимости для тела из документа. Таким образом, в первую очередь HTML выполняет функции представления данных двигателей на Web приложения (как серверной и клиентской).
Как мы уже отметили, полный обсуждение многочисленных теги поддерживает в нынешнем HTMLspec бы неуместно здесь, но мы отмечаем, что существуют несколько тегов, которые могут быть использованы для пагубное воздействие на вредоносные хакеров. Наиболее широко злоупотребляли теги, связанные с принимая вводимого пользователем (что сделать, используя <INPUT> тега, не будет вам известно). Например, одним из наиболее распространенных видов злоупотреблений ввода называется "скрытой", в котором указывается стоимость, которые не отображаются в браузере, но тем не менее получает представленные в любой другой ввода данных в том же виде. Невидимый вклад может быть trivially изменения в стороне клиента, текстового редактора и затем размещен на сервере - если Web- приложения определяет цены товаров в скрытых полях можно увидеть, где это может привести. Другой популярный пункт нападения HTML формы для принятия ввода пользователя, где переменные (такие, как длина пароля) снова установить на стороне клиента. По этой причине наиболее разумному Web дизайнеров применения не установлена важнейших переменных в HTML очень удачно.
Большинство власть HTML вытекает из ее слияния с HTTP. В сочетании с HTTP способность посылать и получать документы HTML, динамично протокол связи вполне возможна. Действительно, над HTML HTTP считается языком Интернета сегодня.
По иронии судьбы, несмотря на элегантность и раннее влияние HTML, в настоящее время заменен другими технологиями. Это главным образом объясняется одним из HTML наиболее очевидные недостатки: это статический формат, что не могут быть изменены "на лету" с учетом постоянно меняются потребности конечных пользователей. Большинство веб-сайтов сегодня сценариев использования технологий для содержания на лету "(это будет обсуждаться в ходе предстоящего раздела" Интернет Применение ").
Наконец, растет другого языка разметки в Интернете стало снижение в использовании HTML, и в конечном итоге могут заменять его полностью. Хотя очень похоже на HTML ее использования тегов для определения элементов документа, в расширяемый язык разметки (XML) превращается в универсальный формат для структурирования данных в сети из-за ее расширения и гибкость для представления данных всех типов. XML хорошо на своем пути, чтобы стать новым языком Интернета, в частности в сфере Интернет услуг.
Хорошо, достаточно об HTML. Давайте перейдем к основным компонентом Web приложений, которые, возможно, не может измениться в любое ближайшее время, HTTP.
Транспорт: HTTP
Как мы уже говорил, Web приложений во многом определяется их использование HTTP в качестве средства коммуникации между клиентом и сервером. HTTP версию 1,0 - это относительно простой, без гражданства, на основе ASCII протокола определена в RFC 1945 (версия 1,1 рассматривается в RFC 2616). Она, как правило, работает над TCP порт 80, но могут существовать на неиспользованные порт. Каждый из его характеристик - ее простота, безгражданства, текстовые базы, TCP 80 операции - стоит изучения кратко, поскольку каждый имеет столь решающее значение для (в) безопасность протокола. Обсуждение ниже очень широкий обзор; Мы советуем читателям ознакомиться с РЛК для более жесткий подробно.
HTTP в простоте вытекает из его ограниченный набор базовых возможностей, запрос и ответ. HTTP определяет механизм запроса ресурсов, и сервер возвращает ресурсов, что, если есть возможность. Ресурсы называемых единообразных Resource Identifiers (URIs), и они могут варьироваться от статической текстовой страницы для динамического потокового видео контент. Вот простой пример на HTTP GET запрос, а сервер HTTP 200 OK ответ продемонстрировала команда netcat с помощью инструмента. Во-первых, заказчик (в данном случае команда netcat), соединяется с сервером по TCP 80. Затем, простой запрос для URI "/ test.html" делается, последовали два возврата каретки. Сервер реагирует с указанием кода ресурса успешно извлекается, и направляет ресурса данных клиента.
C: \> nc - vv www.test.com 80
www.test.com [10.124.72.30] 80 (http) открыт
GET / test.html HTTP/1.0
HTTP/1.1 200 OK
Дата: Mon, 04 Feb 2002 01:33:20 GMT Server: Apache/1.3.22 (Unix) Connection: закрыть
Содержание - Тип: текст / html
<HTML> <HEAD> <TITLE> TEST.COM </ НАЗВАНИЮ> и т.д.
HTTP Таким образом, как мечта хакера - нет необходимости понимать загадочные синтаксис для создания запросов, а также decipher контексте ответов. Практически любой человек может стать достаточно владеть HTTP хакеров очень мало.
Кроме того, HTTP имеет гражданства - нет концепции государственной сессии ведется протокол сам. Это значит, что если вы запрашиваете ресурс и получили действительный ответ, то просьба друга, то сервер считает, что это совершенно отдельный и уникальный запрос. Он не поддерживает ничего, как сессия или иначе пытаться сохранить целостность связь с клиентом. Это также происходит удобно для хакеров, поскольку нет необходимости планировать нападения многоступенчатая подражать сложной сессии обслуживание механизмов - один запрос может привести к Web сервер или приложение на колени.
HTTPis также ASCII текст базе протокола. Это работает в связи с его простотой чтобы доступными любому, кто может читать. Существует не нужно понимать сложные схемы двоичного кодирования или использовать переводчики - все хакером нужно знать, есть в каждой запрос и ответ, в cleartext.
Наконец, HTTP работает на хорошо известные TCP порт. Хотя это может быть осуществлено на любой другой порт, почти во всех браузеров автоматически пытаться подключиться к TCP 80 во-первых, это практически каждый Web сервер о том, что порт, а (см. нашу дискуссию по SSL / TLS в следующем разделе для одного большого исключения к этому). Это большие последствия для подавляющего большинства сетей, сидеть за этим магическим устройств называемых брандмауэров, которые должны защищать нас от всех этих зол внешнего мира. Брандмауэры и других устройствах сетевой безопасности оказываются практически беззащитных против Web взлома, когда в настройках разрешить TCP 80 с помощью одного или нескольких серверов. И что вы догадаться, является наиболее распространенной конфигурации брандмауэр в Интернете сегодня? Разрешение TCP 80, конечно, - если вы хотите функциональный веб-сайт, Вы gotta сделать его доступным.
Конечно, мы oversimplifying вещей много здесь. Есть ряд исключений и квалификации, что можно сделать по поводу предыдущего обсуждения HTTP.
SSL / TLS
Одним из наиболее очевидных исключений является то, что многие приложения Веб сегодня туннеля HTTP над другой протокол называется Secure Sockets Layer (SSL). SSL могут обеспечить для транспортировки слоя шифрования, так что роль посредника между клиентом и сервером не может просто читать cleartext HTTP право отключить провод. Другие не "обертка" HTTP в защитном корпусе, однако, SSL не распространяется или существенному изменению основных HTTP запроса механизма реагирования. SSL никак не за общую безопасность в Интернете применения, чем затрудняют eavesdrop на трафик между клиентом и сервером. Если функция из протокола SSL называемой клиентской сертификатов осуществляется, то дополнительных преимуществ взаимной аутентификации может быть реализована (клиента сертификат должен быть подписан орган надеется на сервере). Однако, если несколько сайтов в Интернете сделать это уже сегодня. В последней версии SSL называется транспорта слой безопасности (TLS). SSL / TLS как правило, работает через TCP порт 443.
Государственное управление: Cookies
Мы жили немного о том, что HTTP является апатридом, но ряд механизмов была задумана чтобы себя как соединения протокола. Наиболее широко используется механизм сегодня использует данные называемых cookies, которые могут быть обменены в рамках HTTP
запрос / ответ диалога сделать клиенту и применение думаю, они фактически связаны через виртуальные цепи (этот механизм более подробно в RFC 2965). Cookies лучше всего рассматривать как символические, что серверы могут стороны клиента позволяет клиенту получить доступ на веб-сайте, пока они представляют образом для каждого запроса. Они могут храниться в памяти временно или навсегда записаны на диск. Cookies не идеально (особенно, если выполнены плохо), и есть вопросы, касающиеся безопасности и конфиденциальности, связанные с использованием их, но никакой другой механизм стал более широкое признание еще.
Подлинности
Около сразу statefulness приходит понятие подлинности. Что использования отслеживают состояние, если Вы даже не знаете, кто использует ваше приложение? HTTP можете вставлять несколько различных протоколов аутентификации. Они включают Основные Cleartext имени пользователя / пароля, База - 64 кодировке (trivially декодируется).
- Как Digest Basic, но пароли платный, чтобы cleartext вариант может быть.
- Форма основе Пользовательская форма используется для ввода имени пользователя / пароля (или других полномочий) и обрабатываются с помощью собственной логики на заднем торце. Обычно использует cookie для поддержания "вошли в" состояние.
- NTLM Microsoft Собственная подлинности протокола, осуществляется в HTTP запрос / ответ заголовки.
- заключить новый протокол от Microsoft, что позволяет любой тип аутентификации, указанным выше будет динамически согласованных клиентом и сервером, и, кроме того, добавляет Kerberos для клиентов с использованием Microsoft в браузер Internet Explorer версии 5 или более.
- на стороне клиента Сертификаты Хотя редко, SSL / TLS обеспечивает возможность, которая проверяет подлинность цифрового сертификата, представленный в Интернете клиента, по сути превратив его в подлинности того.
- А паспорт Microsoft единого входа в (SSI) службы в ведении корпорации Microsoft, что позволяет сайты (так называемый "паспорт Партнеры") для аутентификации пользователей на основе их членства в паспортах службы. Этот механизм используется ключ распределяются между Microsoft и партнеров сайта создать cookie, которая является уникальным идентификатором пользователя.
Эти протоколы аутентификации право работать над HTTP (или SSL / TLS), в полномочия встроенный прямо в запрос / ответ движения.
Клиенты подлинности в Microsoft IIS Web сервер, используя базовую проверку подлинности являются impersonated как если бы они были входа в систему интерактивно.
Другие протоколы
HTTP это обманчиво простой - это удивительно много пробега творческие люди получали из ее основных запрос / ответ механизмов. Однако это не всегда лучшее решение проблемы разработки приложений, и тем самым еще больше творческих людей, которые переходят основных протокола в многообразном спектр новых динамических функциональных возможностей.
Один простой пример - что делать с не ASCII - содержание просьбе клиента. Как сервер выполнить эту просьбу, поскольку он только знает, как говорить ASCII над HTTP? В уважаемой Multipart Internet Mail Расширения (MIME) формат используется для передачи бинарных файлов на HTTP. MIME описывается в RFC 2046. Это позволяет клиенту запросить практически любой ресурс с почти гарантия того, что сервер будет понять, что она хочет и возвращения объекта к клиенту.
Конечно, Web приложения также могут позвонить в любой из других популярных протоколов Интернета, а, например, как электронная почта (SMTP) и передачи файлов (FTP). Многие Web приложений полагаются на встроенный электронной почте ссылки для общения с клиентами.
Наконец, работы всегда afoot добавить новые протоколы HTTP для ванной. Одним из наиболее значимых нововведениях является Web Distributed Оторинг и Versioning (WebDAV). WebDAV определяется в RFC 2518, который описывает несколько механизмов для авторской и рациональное содержание по дистанционному веб-серверов. Лично мы не считаем это хорошей идеей, как протокол, который предусматривает написания данных в Web сервер трудности в процессе формирования.
Тем не менее, WebDAV подкреплена Microsoft и уже существует в их широко развернуты продукции, с тем, обсуждение достоинств своей безопасности, вероятно, далеко в этот момент.
Веб клиент
Стандартное применение Web клиент веб-обозревателя. Он общается через HTTP (среди других протоколов) и делает язык гипертекстовой разметки (HTML), среди других языков разметки. В сочетании, HTML и HTTP представить данные обрабатываются на веб-сервер.
Как и HTTP, веб-обозревателя также обманчиво проста. Из-за этого расширения в HTML и его варианты, можно встроить большую функциональность в рамках казалось статичной содержание Интернета.
Некоторые из этих возможностей основаны вокруг активного технологии, как ActiveX в Microsoft и Sun Microsystem's Java. Погружение один объект ActiveX в HTML это просто:
<Идентификатор объекта = "scr"
classid = "clsid: 06290BD5 - 48AA - 11D2 - 8432 - 06008C3FBFC"> </ объект>
Вновь в мире Интернета, все в ASCII. Когда вынесенное в веб-браузер, что понимает, что делать с ActiveX, контроль указанной тегом этого объекта будут либо загрузить с удаленного веб-сайта, или загрузить непосредственно с локальной машины, если она уже установлена (многие ActiveX контроль прийти preinstalled с Windows и соответствующих продуктов). Затем он проверяется на подлинность с использованием Microsoft в Authenticode технологии, и по умолчанию отобразится сообщение разъяснения, которые цифровой подписи контроля и предоставления пользователю возможность отказаться запустите его. Если пользователь говорит, да, код выполняет. Некоторые исключения из этого поведения являются, помеченных как "безопасный для написания скриптов", которые идут без вмешательства пользователя.
HTMLis действенное языка, но она есть свои недостатки. На протяжении многих лет новые технологии, как Dynamic HTML и Стиль бюллетени появились на пряных вид деятельности и управления представления данных. И, как мы отметили, более фундаментальные изменения afoot время, как расширяемый язык разметки (XML) постепенно начинает заменить HTML как языка Web выбора.
Наконец, Интернет-браузер может выступать и в других протоколах, если это необходимо. Например, она может поговорить с Web сервера через SSL, что если сервер использует сертификат, который подписан одним из многих коренных властей о том, что судно сертификатов с популярными коммерческими браузерами. И она может потребовать других ресурсов, таких как FTP услуг. Действительно, веб-обозревателя является одним из величайших оружия для нападавших сегодня.
Несмотря на все имеющиеся отложения инея на нынешних браузеров, это еще сырой HTTP / HTML функциональности, которая является хакером Лучший друг. А большой объем информации на листах под довольно представления веб-браузер, и в некоторых случаях они тайно переформатировать некоторые просьбы, которые могут быть использованы для тестирования веб-сервера безопасности (например, в Microsoft Internet Explorer из полос точка - точка - черту перед отправкой запроса). Теперь мы не можем, что происходит в ходе серьезного рассмотрения безопасности, мы можем?
На веб-сервере
Веб сервер наиболее просто охарактеризовать как HTTP демон (службу), которая получает запросы на ресурсы, выполняет некоторые базовые разбора по просьбе обеспечить ресурсов существует (среди прочего), а затем его руки до Web применение логики обработки. Когда логика возвращает ответ на HTTP демон возвращает его клиенту.
Есть много популярных веб-сервера пакеты доступны сегодня. В нашем консалтинговые работы, мы видим большое количество Microsoft IIS, в Apache Software Foundation в Apache HTTP Server (обычно называемой просто "Apache"), AOL / Netscape "ы Enterprise Server и iPlanet Солнца. Чтобы получить представление о том, что Интернет работает на своих серверах в любой момент времени, проверьте Неткрафт обследование на http://www.netcraft.net.
Хотя HTTP сервер кажется такой простой вещь, мы еще раз должны отметить, что многочисленные уязвимости веб-серверов были выявлены на протяжении многих лет. Так много того, что можно убедительно утверждать, что веб-сервер уязвимости вынудили хакеров и безопасности международного внимания в течение 1990 - х годов.
Веб-серверы против Web приложений
Какие появляется часто стирается различие между Web серверов и Web приложений. В самом деле, многие люди не различие между Web сервером, а приложения, которые идут по нему. Это является одним из основных надзора - мы считаем, что уязвимость в любом сервере или в другом месте в применении, имеют важное значение.
Хотя мы на это, давайте также убедитесь, что все понимают различие между двумя другими классами уязвимости, сети и системы уровня уязвимости. Networkand системы уровня уязвимости работать под Web сервером и Web приложения. Это проблемы с операционной системой в Web сервер, или ненадежно услуг выполняется на системе сидел на той же сети в качестве веб-сервера. В любом случае, эксплуатации уязвимости на сетевом или системном уровне также может привести к компрометации сервера в Интернете и, запущенное на него. Вот почему были изобретены брандмауэров - блокировать доступ к любым, но веб-сервис, чтобы Вам не придется беспокоиться столько злоумышленников нападения других моментов.
Мы привносим эти различия с тем, что читатели учатся безопасности целостного подхода. Везде уязвимость существует - будь то в сети, система, веб-сервер, или применения - существует возможность для компромисса.
Например, типичный нападение должно похода сети, занимающихся проводной уровне протоколов, таких как Ethernet и TCP / IP, затем слой с системой домашнего вопросов, таких, как пакет reassembly, и через то, что мы называем услуг слой серверов, где, как HTTP демон на жизнь, вплоть до применения логики, и, наконец, с фактическими данными манипулировали заявки. В любой момент во время пути, уязвимости существующих в одном из слоев может быть использован причинить системы или сети компромисса.
Однако, как и ИОО модели, абстракции, представленной ниже уровней создает видимость общения логически более сопредельных средних. Например, надлежащего осуществления нападения против HTTP сервер просто ездить ненавязчиво через сеть и систему слоев, а затем прибыть на услуги слоя сделать его повреждения. Применение и данные уровни являются тем не мудрее, хотя и успешно эксплуатировать в HTTP сервер может привести к полной системы компромисса, и в этом случае данные принадлежат нападающий в любом случае.
Веб применения
Суть современного веб-сайта является серверная часть логики (хотя клиентской логики встроенный в веб-браузере пока что некоторые тяжелую). Это так называемые "н эшелона" архитектуры распространяется то, что обычно довольно простой вещь, как HTTP сервер и превращает ее в динамичный двигатель функциональности, которая проходит практически на бесшовные соединения, применение, что пользователи могут взаимодействовать в режиме реального времени.
Концепция "н эшелона" имеет важное значение для понимания веб применения. В отличие от одного слоя в Интернете ок слой может быть в составе многих отдельных слоев. В стереотипные представительства трех многоуровневая архитектура, состоящая из представления, логики и данных.
Представление слоя обеспечивает механизм для принятия ввода и отображения результатов. Логика слоя принимает информацию от слоя представления и выполняет определенную работу по его (возможно, требующих помощи со стороны данных слоя), а затем руки результат обратно в презентацию. Наконец, данные слоя обеспечивает nonvolatile хранения информации, которые могут быть сомнения или обновлять логику слой, обеспечивая абстракции данных, так что нет необходимости жесткого код в логику слоя, и может быть легко обновлен (мы обсудить данные слоя на себя в предстоящем разделе).
Чтобы понять, как это все работает вместе давайте проиллюстрировать на одном примере. Рассмотрим простой Web приложения, которые поиски местного веб-сервера жесткого диска для файлов, содержащих текст поставляемых пользователем и отображает результаты. Презентация слой будет состоять из формы в поле, чтобы разрешить вклад в поисковой строке. Логика слой может быть исполняемый программа, которая принимает входные строки, гарантирует, что он не содержит потенциально вредоносные символов, и ссылается на соответствующие базы данных, чтобы открыть разъем подключения к данным слоя, наконец, выполнение запроса с помощью ввода строки. Данные слой может состоять из данных, которая хранит индекс всех файлов, проживающих на локальном компьютере, обновляются в реальном времени. База данных запрос возвращает набор соответствующих отчетов и spits их обратно к логике исполняемый слой. Логика слоя разбирает из ненужных данных в recordset, а затем возвращает соответствующие записи с презентацией слоя, embeds их в HTML с тем, что они красиво отформатированный для конечного пользователя об их поездке обратно через Web сервер для клиента браузера.
Многие из технологий, используемых для создания приложений, фактически интегрировать функциональность одной или нескольких из этих слоев, так что часто трудно отличить друг от друга в реальном мире ок, но они существуют. Например, в Microsoft Active Server Pages (ASP) позволяет встроить серверная часть логики в веб-страниц в представлении слоя, так что нет необходимости иметь отдельное исполняемый для выполнения данных запросов.
Ключевым для понимания, что обо всех этих технологий состоит в том, что они работают больше, как исполняемых, а не статичным, в текстовом виде HTML страниц. Например, запрос на
PHP скрипт может выглядеть так:
http://www.somesite.net/article.php?id=425&format=html
Как видите, файл article.php запускается как исполняемый, с пунктами, с левой стороны от знака вопроса рассматриваются как дополнительные материалы или аргументы. Если предположить article.php как Windows исполняемый (назвать это article.exe) запустить из командной строки, в предыдущем примере может выглядеть так:
C: \> article.exe / идентификатор: 425/format: html
Хакеры всего мира, вероятно, по-прежнему уделяя благодаря этим важнейшим развития в эволюции Web, поскольку она обеспечивает удаленных пользователей возможность запускать код на Web сервер с пользователем определенных материалов. Это создает очень большие нагрузки на Web разработчиков приложений для разработки своих скриптов и исполняемых правильно.
Есть также целого ряда поставщиков, пакет так называемых Web применение платформ, которые сочетают в Интернете с сервером в интегрированную среду разработки (IDE) для Web логики приложения. Некоторые из наиболее популярных игроков в этом пространстве относятся компании BEA Systems, Broadvision и другие.
Наконец, несколько приложений могут запустить на одном сервере Web. Это способствует сложность общего Web архитектуры, что в свою очередь повышает риск безопасности воздействия.
База данных
Иногда называют "обратно конца", данные слоя, как правило, составляет последнего яруса в ярус н - архитектуры. Возможно, более чем что-либо другое, базы данных была возложена ответственность за развитие сети от статических, HTML инициативе образования в динамичный, жидкости среднего для поиска информации и электронной коммерции.
В продавцов и платформ в рамках данных слоя являются достаточно однородными по всему Интернет сегодня: SQL (в Microsoft и не Microsoft разновидности) и Oracle являются основным игроков здесь. Логические элементы, как правило, ссылаться на конкретную базу данных разъема интерфейса поговорить непосредственно с базами данных, делать запросы, обновление записей, и так далее. Наиболее распространенные устройства используются сегодня Открыть Database Connectivity, или ODBC.
Прокси
Одним из первых узурпаторов из чистого одного клиента на один сервер модель Веб прокси. Еще раз повторю, кто ведении крупных сетей, как America Online (AOL) решила один день, что позволяет вместо каждой их umpteen млн. индивидуальных абонентов подключаться к Интернету, что новомодный вещь, они будут осуществлять единый шлюз, через который всех подключений пришлось пройти. Этот шлюз будет расторгнуть первоначальный запрос браузера, а затем предложить оригинальное ресурсов от имени клиента. Это позволило шлюз делать то, как кэш обычно предлагается в Интернете, экономя тем самым трафик, увеличивая эффективность, и так далее. А шлюз, что делает запросы от имени клиента система традиционно называется прокси. Прокси в основном себя, как объявлено, избавив пропускания и уменьшения нагрузки сервера, но они по крайней мере один побочный эффект отвратительный: государственного управления и механизмов обеспечения безопасности на основе клиента IP- адресом, как, чтобы получить все загрязненной когда пересекают прокси, поскольку источником адрес клиент всегда прокси. Как вы рассказать одного клиента запрос от другого? Хуже, когда осуществляются в массивы, как AOL делает один запрос клиента может быть из одной доверенности, а вторая просьба может выйти из другого. Принять домой момент: не полагайтесь на стороне клиента информацию при разработке Web- приложения государственного управления или меры безопасности.
Загрузка Balancers
Как вы можете себе представить, кто-то вскоре выступил с аналогичной идеей на стороне сервера из Web уравнения. Загрузка балансировочные выполнять несколько вспять, как прокси, управление входящими нагрузки заявок клиентов и распространения их через ферму одинаково настроены веб-серверов. Клиент знает ни заботы, ни если один сервер выполняет его просьбу или другой. Это значительно повышает масштабируемость сети архитектур, поскольку теоретически неограниченного числа веб-серверов могут быть использованы для удовлетворения постоянно растущего числа клиентов.
Нагрузки алгоритмы можно разделить на статические (когда запросы направляются в заранее моды, таких, как круглым robin) или динамические (в которых просьбы shunted к серверам на основе некоторых переменных коэффициент загрузки, как минимум соединений или быстрый ссылка). Нагрузка balancer себя, как правило, принимает на каноническое имя, как www.company.com, а затем маршруты запросы виртуальных серверов, которые могут или не могут иметь доступа к Интернет адресов.
Нагрузки реализаций мы обычно видим в нашей работе относятся Cisco местного директора и F5 в Большой - IP. Другим интересным является осуществление Балансировка загрузки сети (NLB) схемы с Microsoft. Он основан на физический уровень вещания концепции, а не просить маршрутизации. В некоторых отношениях это своего рода как Ethernet в столкновении избежание обнаружения архитектуры. Он работает следующим образом: Входящее запрос транслируется на всю ферму веб-серверов. Основываясь на внутренний алгоритм лишь один из серверов ответит. Остальные клиента запросы то направляются этого сервера, как и другие нагрузки схем. Применение Microsoft в центре продукта использует этот подход, и мы считаем элегантный, хотя мы не видели его столь развернуто. Масштабируемость является значительно повысить поскольку баланс устройство не имеет к маршруту пакеты; Он только их в эфир.
Независимо от технологии работают, балансировочные груза, как правило, делают жизнь труднее для хакеров. Поскольку данный запрос не всегда получают направлен том же сервере, сканирование методов может дать непредсказуемые результаты.
Новая модель: Web Services
Интернет постоянно развивается. Что в магазине для применения архитектуры Web в ближайшем будущем? Как нам написать это, слов по каждому губы являются веб-службы.
Web услуги сопоставимы с неавтономная, модульные Web приложений. Web услуги на основе набора столь hyped Интернет стандартов indevelopment. Эти стандарты включают в себя Web Services Определение языка (WSDL), один XMLformat для описания сетевых услуг; Всеобщей Описание, Discovery, и интеграции (UDDI) спецификации, набор протоколов XML и инфраструктуры для описания и открытия Интернет услуг; И в Simple Object Access Protocol (SOAP), XML- базе протокола для обмена сообщениями и RPC стиль общения между веб-службы. (Есть никому не убежден XML будет играть важную роль в будущем Интернет?) Применение этих трех технологий, веб-службы можно смешивать и в цепочке создания новых приложений, процессов и цепочки.
Webservices облегчения много этой работы, поскольку они могут описать свои функциональные и высмотреть и динамично взаимодействовать с другими Интернет услуг через WSDL, UDDI и SOAP. Web услуги таким образом, служить средством для различных организаций для подключения их применения друг с другом для проведения динамичного электронного бизнеса по всей сети, независимо от их применения, разработки, или запустить времени среды (ASP, ISAPI, COM, J2EE, CORBA, и т.д.).
WDSL, UDDI, SOAP и вырос из совместных усилий Microsoft и других поставщиков (в том числе IBM, Ариба, DevelopMentor и UserLand Software). Manyof других крупных перевозчиков технологии, как Sun и Oracle, также на борту веб-сервис bandwagon, так что, даже несмотря на то, что нынешние стандарты не могут выглядеть так же, в шесть месяцев, то ясно, что веб-службы здесь в долгосрочном плане. И, конечно, будет весь новый урожай безопасности беды, как эти новые технологии переходить от сканирования для ходьбы.
this is an article added by Fayad S. Bolkiah Disclaimer: Our website is not responsible for the information contained by this article. This article in no way reflects the views, opinions, thoughts or beliefs of the articles directory staff.
Translation notice: The article "THE WEB APPLICATION ARCHITECTURE" was translated using an automated translation service. We sincerely apologize for any translation errors that occured. Thank you for understanding.