#web-applications
#веб-приложения
Вопрос:
Я заметил, что различные технологии влияют на то, как веб-страница загружается на экране. То есть переход с пустого экрана (или другой веб-страницы) на веб-страницу, которая запрашивается. Фактически, я могу буквально определить, какой стек используется, просто заметив, как загружается страница.
- asp.net/iis кажется, что страницы чаще останавливаются, а затем загружаются все сразу в виде скачкообразной вспышки.
- php / apache очень гибкий и плавный, кажется, что он постепенно загружается от верхнего элемента вниз.
- ruby on rails находится как бы между ними, есть отдельные разделы страницы, которые загружаются одновременно, но довольно плавно.
Что на это влияет? (скомпилированный или интерпретированный? когда загружается css? как загружаются изображения?) Можно ли управлять этим в asp.net или iis? С какими концепциями HTTP это связано?
Комментарии:
1. Попробуйте перефразировать вопрос, который в настоящее время является утверждением.
2. используете ли вы один и тот же браузер во всех случаях. Я обнаружил, что IE загружает страницы медленнее (все сразу перед рендерингом), чем другие, но вы можете настроить свой javascript и css, чтобы сделать это лучше.
Ответ №1:
Вы сделали несколько широких, размашистых обобщений, но в целом это правда. Обычно это связано не с реальной серверной технологией — вы можете разместить PHP, например, в IIS, а с инструментами генерации страниц — языком сценариев и фреймворками.
Используя такие инструменты, как Firebug и Yslow, вы можете видеть, что происходит, и в этом есть много подсказок.
Причина ASP.Сетевые сайты ведут себя так, как вы описываете, из-за способа, которым они создают HTML -ASP.Net webforms использует тег «form» для построения страницы и целую кучу едва совместимых со стандартами HTML и JavaScript для склеивания страницы вместе. Чем новее ASP.Net Технология MVC в основном устраняет это, и вы должны обнаружить, что сайты, созданные с использованием этой технологии, выглядят более гладко. По умолчанию ASP.Net шаблоны страниц на самом деле не соответствуют рекомендациям YSlow, поэтому вы часто видите небольшие сбои при загрузке страницы.
У PHP-сайтов нет единой доминирующей платформы — есть по крайней мере 4 конкурирующих MVC-фреймворка, а также множество доморощенных фреймворков, а также сайты «без фреймворка». Некоторые из них великолепны, некоторые нет, некоторые быстрые, некоторые медленные — это действительно трудно обобщить.
Наконец, Ruby имеет тенденцию использовать множество компонентов для создания страницы — каждый элемент на странице, вероятно, будет иметь свою собственную модель / представление / часть контроллера со своей собственной стратегией кэширования. Это означает, что часто вы получаете небольшую задержку, когда компонент должен выполнить свое задание.