2013-08-05 1 views
1

При оптимизации сайтов я использовал конкатенирование и написание для группировки связанных друг с другом битов многократно, но мне часто интересно, сколько или сколько средств для упаковки активов для доставки в браузер (иногда автоматические инструменты не всегда являются частью моего процесса сборки, хотя я предпочитаю их).Рекомендуемый диапазон размеров файлов для html/js/css/jpg/png для передачи http

Мне любопытно, есть ли разумные рекомендации только в области файлов при объединении активов для доставки в браузер. Предполагая, что нет сжатия или кеширования, просто простой перенос HTTP с сервера на браузер с AJAX или без него.

  1. Что такое самый маленький наименьший размер файла?
    Я слышал, что из-за размера пакета (извините, если это было неумело), ​​что 1kb и 2kb данных будут передаваться с той же скоростью - есть ли общий порог в kb, где дополнительные байты начинают влиять на скорость передачи.

  2. Изменяется ли скорость передачи линейно с размером файла или выполняется ступенчато-ступенчатая?
    Распространяя первый вопрос, каждый килобайт увеличивает скорость передачи в довольно линейном режиме? Или это лестница-шагомер с интервалами в пакетном размере (опять же, возможно, неумелый выбор слов)?

  3. Есть ли максимальный размер
    Опять же, я знаю, что есть контекстные рассуждения Лота, которые влияют на это, но есть размер файла, который inadvisably большие данные тока сети, браузеры, или он в значительной степени зависит от сервера и сетей? Если есть хорошее обобщение, это все, что мне интересно.

Это, вероятно, само собой разумеется, но я не сервер/сетевой эксперт, только передний конец DEV ищет некоторые разумные значения по умолчанию для руководства быстро принимать решения в оптимизации активов.

ответ

2

Это действительно зависит от сервера, сети и клиента.

Использовать здравый смысл, является основным ответом: не пытайтесь отправлять растровые изображения с несколькими мегабайтами, или страница будет загружаться так долго, как если бы пользователь пытался загрузить любой другой файл с несколькими мегабайтами. С другой стороны, куча PNG прямо на одной странице не будет заметна для большинства современных пользователей. В более вычислительной области, чем вы просили, не злоупотребляйте iframe, чтобы перенаправить людей на несколько шагов других веб-страниц.

Если вам нужна дополнительная информация о фактической передаче, максимальный размер одного TCP-пакета составляет технически 64 КБ, но на самом деле вы не собираетесь отправлять более 1,5 КБ в одном пакете. Однако TCP основан на потоках, поэтому размер пакета в основном не имеет значения. Вы должны больше интересоваться пропускной способностью современных машин и, учитывая, насколько эффективны потоки потокового видео в настоящее время, я действительно не думаю, что вам следует чрезмерно беспокоиться о доставке несжатых ресурсов вашим пользователям.

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

Редактировать: Чтобы решить вашу проблему (в заголовке) о передаче фактических файлов html/js, это всего лишь текст в передаче. Браузер выполняет весь этот рендеринг и код для вас. Если у вас есть один jpg, он будет в основном затмевать любой html/js, который у вас есть на странице.

размер

Перевод: maximum packet size for a TCP connection

HTTP поток (грубый вид): http://www.http.header.free.fr/http.html

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

Если вам нужна фактическая статистика полосы пропускания для современных пользователей, для меня это, вероятно, слишком много для отслеживания. Но если вам нужна дополнительная техническая информация, страницы wikipedia по HTTP и TCP довольно велики.

+0

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

+0

Размер перевода: http://stackoverflow.com/questions/2613734/maximum-packet-size-for-a-tcp-connection; http flow (грубое представление): http://www.http.header.free.fr/http.html В основном, поскольку вы получаете основной документ html, представляющий страницу в целом (которая от вашего первоначального запроса до доступ к странице), вы анализируете другие URL-адреса, указанные как изображения или сценарии, и запрашиваете их с сервера для доставки на ваш сеанс. Связанная страница старая, но актуальная, и (надеюсь) легко понять. – codetaku

+0

Если вам нужна фактическая статистика полосы пропускания для современных пользователей, для меня это, вероятно, слишком много для отслеживания. Но если вам нужна дополнительная техническая информация, страницы wikipedia по HTTP и TCP довольно велики. – codetaku