Должен ли я сделать один запрос для всего веб-сайта или отдельные запросы, что лучше?

  • Автор темы dangers1
  • 80
  • Обновлено
  • 12, May 2024
  • #1
Привет, ребята, Я только что узнал, что вы можете сделать всего один запрос к серверу для всего сайта, как показано ниже:
 <!doctype html><html lang="en"><head>

<meta charset="utf-8">

<meta name="viewport" content="ширина = ширина устройства, высота = высота устройства, начальный масштаб = 1">

<link rel="stylesheet" href="/css/styles.css" media="screen,projection,tv"> <!-- This sends another request -->

</head><body>

<div id="navigation_main">

<h1>Site Name</h1>

</div>

<div id="mainContainer">

BLAH BLAH BLAH BLAH & BLAH

</div>

<div id="footer">

Footer Stuffs

<div>

<script src="/js/main.js"></script> <!-- This sends another request -->

</body></html>
Код (разметка): В этом случае я отправляю на сервер всего один запрос простого html-файла. На сервере я заменяю хэштег типа #Footer блоком кода, как показано ниже:
 <div id="footer"> Footer Stuffs <div>
Код (разметка): Теперь мне интересно, лучше ли он обычного html-файла, как в примере ниже:
 <!doctype html><html lang="en"> #Head #CSSfile <body> #Navigation_main #MainContainer #Footer #JSfile </body></html>
Код (разметка): меня беспокоит скорость и общая производительность, какой из них лучше, поскольку сегодня вы можете читать файлы асинхронно. Спасибо,

dangers1


Рег
20 Mar, 2014

Тем
1

Постов
1

Баллов
11
  • 18, May 2024
  • #2
Могу поспорить, что если вы посмотрите на свой сетевой трафик с помощью инструментов разработчика, вы все равно будете делать массу запросов. Единственный способ увидеть, как вы загружаете страницу с помощью одного запроса, - это иметь все CSS и JS на странице, все изображения являются встроенными, а не отдельными файлами - по сути, это то, что делает angular Большой вопрос: почему вы не хотите кэшировать контент?
 

HFeLix


Рег
31 Mar, 2015

Тем
0

Постов
1

Баллов
1
  • 22, May 2024
  • #3
У вас есть ссылка на источник, из которого вы взяли эту.

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

Это какая-то система шаблонов или что?!?
 

_Бapoн_


Рег
01 Jan, 2011

Тем
0

Постов
2

Баллов
2
  • 01, Jun 2024
  • #4
Думаю, я неправильно понял, что ты делаешь. Вы не пытаетесь получить контент с помощью одного запроса — вы пытаетесь загрузить страницу, а затем изменить контент с помощью ajax, верно? Основные недостатки такого подхода заключаются в том, что
  • пользователи видят один URL-адрес, что затрудняет обмен контентом и добавление контента в закладки.
  • поисковые системы, вероятно, не видят весь ваш контент
 

amokeev


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
  • 03, Jun 2024
  • #5
Спасибо @sarahk, я об этом не подумал Я просто отправляю запрос на загрузку страницы в обычном режиме, но поскольку это node.js, вы можете отслеживать входящие запросы на сервере. Давайте я еще немного объясню.

Посмотрите на этот обычный запрос на загрузку страницы:
 /video.html
Код (разметка): и на сервере вы можете увидеть такие входящие запросы:
 ... <body> @@include('./header.html') Content @@include('./footer.html') </body> ...
Код (разметка): И вот как я могу устранить эти запросы. Посмотрите на этот код:
 /video.html //=> a request for page load /videos/How%40To%40Get%40Rich.mp4 //=> a request for a video which ID = 5, %40 is spacing /images/previous.png //=> a request for a thumbnail image of prvious video /images/next.png //=> a request for a thumbnail image of the next video /js/main.js //=> a request for a JavaScript file that do awesome stuffs on the page /css/style.css //=> a request for a CSS file to make the page look fancy
Код (разметка): Если я поставлю @@include('./css/style.css') в заголовок.html файл, вы не увидите запрос файла CSS на консоли сервера. Это также верно, если я поставлю @@include('./js/main.js') в нижний колонтитул.html. Итак, если я поставлю @@include('./videoContent.html') на странице я могу исключить все запросы на видео и миниатюры изображений. В консоли вы видите просто:
 http//www.mysite.com/video.html?video_id=5
Код (разметка): Теперь я не понимаю, следует ли отправлять массовую полезную нагрузку в одном ответе или делать это как обычно. Спасибо,
 

base2gis


Рег
08 Apr, 2013

Тем
0

Постов
3

Баллов
3
  • 03, Jun 2024
  • #6
Это немного напоминает мне тот случай, когда я когда-то использовал включаемые на стороне сервера файлы в большом проекте.

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

Я работал над проектом, который по сути делал бы то же самое, что и вы, но с использованием XML.

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

Я думаю.

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

и/или кадры на стороне клиента. Если вы используете коммутируемый модем 14,4 КБ (я использую America Online с 1996 года и у меня есть настольный компьютер Intel DX2 i486 под управлением Windows 95!), вы, вероятно, захотите отправлять и получать как можно меньше данных.

насколько это возможно.

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

Мне нравится избыточность.

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

Просто распределите всю работу на другие независимые системы.

Вот что приходит на ум...
 

kreol


Рег
17 Apr, 2014

Тем
2

Постов
4

Баллов
24
  • 07, Jun 2024
  • #7
Итак, когда вы просматриваете исходный код, вы видите, что на странице есть style.css, верно? Это означает, что он не кэшируется Это нормально, если вы жестоки со своими стилями и используете только те, которые имеют отношение к конкретной странице. Большинство из нас нет, у нас есть один файл style.css, он кэшируется, и каждая страница вызывает один и тот же файл. Я не вижу особой выгоды в том, чтобы тратить время на то, чтобы убедиться, что включены правильные стили и разместить все это на странице. Если ваши пользователи все еще используют коммутируемый доступ или сети 2G, небольшие маленькие страницы могут быть выгодны, но с помощью этого метода вы можете так же легко получить огромные, валяющиеся, раздутые страницы.
 

syltan02091989


Рег
05 Dec, 2015

Тем
1

Постов
3

Баллов
13
  • 07, Jun 2024
  • #8
Да, все начинается с этой страницы: https://css-tricks.com/the-simplest-ways-to-handle-html-includes/

Но я пишу весь код сам, не глядя на него, и иду немного дальше. В конце концов, это всего лишь JavaScript. Вы можете просматривать практически все на консоли и манипулировать чем угодно. Мой пример кода — это всего лишь макет.
 

serov2


Рег
28 Jul, 2015

Тем
2

Постов
3

Баллов
23
  • 08, Jun 2024
  • #9
Спасибо, Это очень полезная информация. Я понятия не имею, включает ли то, что я делаю, серверную часть или нет. Здесь я делаю что-то похожее на Gulpjs: https://gulpjs.com/

Но вместо использования библиотеки я пишу свой собственный код, и он намного легче, чем они.
 

torezz


Рег
19 Mar, 2014

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно