Почему при вводе URL-адреса веб-страница долго загружается в браузере моего мобильного телефона?

Я хотел бы составить очень подробный ответ при подготовке к интервью по разработке программного обеспечения, а также по-настоящему понять, что происходит "под капотом".

Что у меня сейчас есть:

Когда вы вводите URL, между браузером и сервером происходит рукопожатие TCP. Как только соединение установлено, запрос на веб-страницу направляется на сервер через балансировщик нагрузки в центре обработки данных. Этот конкретный сервер вернет веб-страницу в браузер, который отображает ее для отображения на основе правил DOM, указанных на веб-странице. Следовательно, на скорость соединения влияют: 1) Местоположение центра обработки данных 2) Алгоритм маршрутизации, используемый балансировщиком нагрузки 3) Время, необходимое серверу, содержащему веб-страницу, для очистки запросов, отправленных в его направлении.

Это ответ, который я дал в интервью, которое было сочтено недостаточным. Я понимаю, что это, вероятно, элементарно, и я нахожусь на определенном пути к пониманию как можно больше об этом процессе. Пожалуйста, кто-нибудь может пролить свет на этот вопрос?

1 ответ

Я думаю, что вы, возможно, переоцениваете это. Загрузка веб-страницы в браузере занимает много времени, а в мобильных - большую часть времени, и в большинстве случаев наоборот.

Размеры ресурсов (изображения, HTML, CSS, JS и т. Д.) Загружаются намного быстрее, чем квитанции TCP, DNS, расположение центра обработки данных и т. Д.

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

Чтобы расширить это понятие:

http://www.pcworld.com/article/2038500/why-some-web-sites-are-much-slower-than-others.html

На мой взгляд, от наиболее вероятных кандидатов до наименее:

  • Скорость интернета
  • Размер страницы (используйте инструменты Chromes Dev для проверки того, какие ресурсы требуют времени для загрузки) и знает ли разработчик, что он делает (эффективность селектора в CSS, JS и т. Д.)
  • Питание сервера / базы данных
  • Различные сетевые сложности (DNS, расположение сервера, TCP-рукопожатия и т. Д.)

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

Другие вопросы по тегам