Jump to content

Серверные сценарии

Серверные сценарии — это метод, используемый в веб-разработке , который включает использование сценариев на веб-сервере , которые создают ответ, настроенный для каждого запроса пользователя (клиента) на веб-сайт. Сценарии можно писать на любом из множества доступных серверных языков сценариев. Сценарии на стороне сервера отличаются от сценариев на стороне клиента , где встроенные сценарии, такие как JavaScript , запускаются на стороне клиента в веб-браузере , но оба метода часто используются вместе. Альтернативой одному или обоим типам сценариев является предоставление статической веб-страницы самим веб-сервером .

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

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

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

Netscape представила реализацию JavaScript для серверных сценариев с помощью Netscape Enterprise Server , впервые выпущенного в декабре 1994 года (вскоре после выпуска JavaScript для браузеров). [1] [2]

Серверные сценарии позже использовались в начале 1995 года Фредом Дюфреном при разработке первого веб-сайта для телевизионной станции WCVB в Бостоне, штат Массачусетс . Технология описана в патенте США 5835712 . Патент был выдан в 1998 году и сейчас принадлежит Open Invention Network (OIN). В 2010 году OIN назвал Фреда ДюФрена «Выдающимся изобретателем» за его работу над серверными сценариями.

Объяснение

[ редактировать ]

На заре Интернета сценарии на стороне сервера почти исключительно выполнялись с использованием комбинации программ C , сценариев Perl и сценариев оболочки с использованием общего интерфейса шлюза (CGI). Эти сценарии выполнялись операционной системой , а результаты возвращались веб-сервером . в режиме онлайн, Многие современные веб-серверы могут напрямую выполнять языки сценариев такие как ASP , JSP , Perl , PHP и Ruby , либо самим веб-сервером, либо через модули расширения (например, mod_perl или mod_php ) на веб-сервере. Например, WebDNA включает собственную встроенную систему баз данных. Любая форма сценариев (т. е. CGI или прямое выполнение) может использоваться для создания сложных многостраничных сайтов, но прямое выполнение обычно приводит к меньшим накладным расходам из-за меньшего количества вызовов внешних интерпретаторов.

Динамические веб-сайты иногда используют собственные серверы веб-приложений, такие как Glassfish , Plack и Python «Base HTTP Server», хотя некоторые могут не считать это скриптами на стороне сервера. При использовании методов динамического веб-скриптинга разработчики должны хорошо понимать логическое, временное и физическое разделение между клиентом и сервером. Например, чтобы действие пользователя инициировало выполнение серверного кода, разработчик, работающий с классическим ASP, должен явно заставить браузер пользователя выполнить обратный запрос к веб-серверу.

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

Серверный рендеринг

[ редактировать ]

С появлением одностраничных приложений был представлен обновленный подход к написанию сценариев на стороне сервера, известный как рендеринг на стороне сервера. При рендеринге на стороне сервера статический HTML-код может быть отправлен с сервера клиенту, а JavaScript на стороне клиента затем делает веб-страницу динамической , присоединяя обработчики событий к элементам HTML в процессе, называемом гидратацией . Примерами фреймворков, поддерживающих рендеринг на стороне сервера, являются Next.js , Nuxt.js , Angular и React .

Альтернативой рендерингу на стороне сервера является генерация статического сайта . При рендеринге на стороне сервера страница обычно собирается на сервере один раз для каждого запроса. Напротив, при создании статического сайта приложение генерирует все статические HTML-страницы во время сборки. Эти предварительно созданные страницы затем отправляются клиенту при каждом запросе без необходимости их повторного создания. Это приводит к сокращению времени рендеринга, поскольку не нужно создавать новую страницу при каждом запросе; сервер просто передает файл, который он уже сгенерировал ранее. Минус в том, что при изменении некоторых данных на странице их необходимо перестраивать. Примерами инструментов генерации статических сайтов являются Jekyll и Gatsby . Сайты, созданные с помощью инструментов создания статических сайтов, часто размещаются на Netlify или GitHub страницах .

Доступен ряд языков сценариев на стороне сервера, в том числе:

См. также

[ редактировать ]
  1. ^ «Руководство по серверному JavaScript» . Корпорация Netscape Communications. 1998 год . Проверено 25 апреля 2012 г.
  2. ^ Майк Морган (1996). «Использование Netscape™ LiveWire™, Special Edition» . Que.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ec90e73f53e3f35ff43b84af181f2393__1720715820
URL1:https://arc.ask3.ru/arc/aa/ec/93/ec90e73f53e3f35ff43b84af181f2393.html
Заголовок, (Title) документа по адресу, URL1:
Server-side scripting - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)