Я заметил, что на веб-сайтах некоторые сайты имеют поддомены, предназначенные для изображений или информации о поддоменах, таких как i.domain.com. Мне было интересно, в чем преимущество этого? Есть ли название для этого типа «Метод»? Где я могу получить дополнительную информацию об этом? Благодарю.[i.] [M.] HTTP-адреса
ответ
m.cnn.com удобен для мобильных устройств. Сохраняет ввод текста.
Parallel-izing image/script downloads.
Некоторые браузеры будут иметь только 2 одновременных соединения, открытых для данного домена за раз. Если у вас есть 20 изображений/сценариев для загрузки, вы можете получить только 2 за раз x10. Если вы используете разные домены (субдомены), вы можете увеличить количество одновременных загрузок.
В качестве примера StackOverflow помещает изображения под i.stackoverflow.com для ускорения.
EDIT
Как отметил Ричард (в комментариях), что HTTP особое_разрешения настоятельно советует 2 одновременное соединение предела.
«i.» Часто используется для изображений по причине, объясненной Чадом. Это немного больше, поскольку наличие изображений под «i.» Позволяет получить еще несколько запросов из основного домена без вмешательства изображений.
В частности, каждый раз, когда вы включаете внешний скрипт <> (*), браузер должен блокировать рендеринг остальной части страницы под сценарием до тех пор, пока файл сценария не будет извлечен и выполнен. Если над элементом сценария есть двадцать изображений, все они будут помещены в очередь уже и могут быть извлечены перед элементом сценария, что приведет к большой задержке в рендеринге страницы.
С помощью другого имени хоста (даже в пределах одного домена) для важных ресурсов, таких как сценарии, запросы изображений не будут забивать конвейер для более важных ресурсов таблиц стилей и скриптов; вместо этого они будут происходить параллельно.
Плюс, конечно, используя другое имя хоста для изображений и других больших ресурсов, таких как видеофайлы, вы можете отбросить их на второй сервер в будущем.
(*:., Если не использовать < сценарий Отложить>, но это редко и не глобально поддерживается)
Вы можете use a cookie-free subdomain для статического контента (изображения, скрипты, таблицы стилей и т.д.).
Статический контент не требует куки-файлов, поэтому отправка/получение их - просто пустая трата.
Отличная оптимизация. +1 – Randolpho
Она также может помочь управлять-доступ к которым контента на другой суб-домен, как вы можете с уверенностью предположить, что все содержимое из i.yoursite.com может быть связано только www.yoursite.com
Для Например, с помощью apache вы можете поместить один .htaccess с несколькими простыми правилами для определения прав доступа к вашим изображениям в корне поддомена.
Есть несколько причин для использования отдельного поддомена для определенных ресурсов:
Parallel загрузка Пределов спецификации HTTP the number of simultaneous connections два соединений:
Клиентов, которые используют постоянные соединения СЛЕДУЕТ ограничить количество одновременных подключений, которые они поддерживают на данном сервере. Однопользовательский клиент НЕ ДОЛЖЕН поддерживать более двух соединений с любым сервером или прокси.
Но, хотя most browsers support more than two simultaneous connections per server, существует предел, и распространение запросов позволит увеличить количество одновременных соединений в целом.
Статическое содержимое В качестве изображений, таблиц стилей и сценариев в основном используется статический контент, их можно поменять на другой сервер, специализирующийся на обслуживании статического содержимого. Таким образом, никакие ненужные загружаемые модули для обработки серверных языков не препятствуют серверу доставлять содержимое.
Cookie-free sub-domain Файлы cookie полезны, но могут вызвать ненужный трафик, поскольку они отправляются с каждым запросом, для которого они действительны. Так что это good practice to restrict cookies just to the
www.
sub-domain.
См. Yahoo!’s Best Practices for Speeding Up Your Web Site для получения более полезных советов по ускорению.
- 1. Add (A, I) в COMBOBOX, если (M, I) имеет значение
- 2. Перевести строку в Python на JavaScript: [(M [i], k // M [i])]
- 3. Как я могу вычислить Σ_ {i = m}^n (m + i)^n?
- 4. i m confuse по этому запросу
- 5. I m get error User_ID_seq.nextval неизвестный столбец
- 6. MATLAB создать матрицу M = F (I, J)
- 7. понимание кода python ----- objs = ((v [i], w [i]) для i в idxs [m:])
- 8. R: элемент позиции x [m]> значение, для которого все последующие элементы i> m также x [i]> значение
- 9. Рассмотрим x^i + y^i = z^i, x <= y <= z <= m и 2 <= i <= n (m и n - входы) m может варьироваться от 5 до 100 n, может варьироваться от 2 - 100
- 10. i m пытается получить значение массива из сообщения
- 11. i m получение ошибки на cmd i.e. build.xml не существует
- 12. YUM Package Зависит от uname -m или uname -i
- 13. Использование дат d-m-Y H: i: s с Doctrine?
- 14. Pagination не работает (используя wp-paginate) i m using wordpress
- 15. Отсутствует данные «% I:% M% p» в Pandas dataframe - Python
- 16. C# I`m пытается найти имя в таблице SQLite
- 17. Почему не указано «k» в выражении «m = ++ i || ++ j && ++ k "?
- 18. Угловое форматирование Y-m-d H: i: s
- 19. PHP: Форматирование даты с использованием «Y-m-d H: i»
- 20. i m сталкивается с следующей ошибкой с использованием первого затмения
- 21. PHP Future Date (Y-m-d H: i: s)
- 22. Сравнение даты («Y-m-d h: i: s»);
- 23. Поиск мод m, где известны mod 2^i
- 24. C Функция остановки программы (m [0] -> rows = i;)
- 25. Изображение появляется во второй раз I`m openig tab (Swift)
- 26. I`m ищет эквивалент в весной JavaAsync от Play Framework
- 27. Как получить дату («Y-m-d») с даты («Y-m-d H: i: s»)?
- 28. Использование рекурсии заданное m (i) = 1 + 1/2 + 1/3 + 1/4 + 1/5 ... + 1/i
- 29. PHP Преобразование формата даты/времени из 'd/m/Y H: i: s' в 'H: i: s'?
- 30. Почему «k» не увеличивается в выражении «m = ++ i && ++ j || ++ k», когда «++ i && ++ j» оценивается как true? ?
Стоит отметить, что 2 параллельных соединения являются обязательными (то есть настоятельно рекомендуется) ограничением от HTTP RFC. – Richard