Best Practices for Speeding Up Your Web Site / Рекомендации лучших вебоводов для ускорения вашего сайта

→This rule was inspired by Yahoo!'s JavaScript guru Nicolas C. Zakas. For more information check out his article "Empty image src can destroy your site".
0 Данное правило было предложено гуру джаваскрипта Yahoo! Николасом Ц. Закасом. Для дополнительной информации обратитесь к его статье "Пустой источник картинки может разрушить ваш сайт"{URL}.
→Hopefully, browsers will not have this problem in the future. Unfortunately, there is no such clause for <script src=""> and <link href="">. Maybe there is still time to make that adjustment to ensure browsers don't accidentally implement this behavior.
0 Надеемся браузеры не будут иметь указанную проблему в будущем. К сожалению, подобного пункта нет ни для <script src="">, ни для <link href="">. Возможно еще есть время для корректировки, чтобы браузеры случайно не реализовали подобное поведение.
→The src attribute must be present, and must contain a valid URL referencing a non-interactive, optionally animated, image resource that is neither paged nor scripted. If the base URI of the element is the same as the document's address, then the src attribute's value must not be the empty string.
0 Атрибут src обязателен и должен содержать действительный URL указывающий на неинтерактивную, возможно анимированную картинку, которая не является ни страницей, ни скриптом. Если базовый URI элемента такой же, как адрес документа, то значения атрибута src не должно быть пустой строкой.
→HTML5 adds to the description of the tag's src attribute to instruct browsers not to make an additional request in section 4.8.2:
0 HTML5 в пункте 4.8.2 дополняет описание атрибута src, чтобы браузеры не делали дополнительный запрос:
→The root cause of this behavior is the way that URI resolution is performed in browsers. This behavior is defined in RFC 3986 - Uniform Resource Identifiers. When an empty string is encountered as a URI, it is considered a relative URI and is resolved according to the algorithm defined in section 5.2. This specific example, an empty string, is listed in section 5.4. Firefox, Safari, and Chrome are all resolving an empty string correctly per the specification, while Internet Explorer is resolving it incorrectly, apparently in line with an earlier version of the specification, RFC 2396 - Uniform Resource Identifiers (this was obsoleted by RFC 3986). So technically, the browsers are doing what they are supposed to do to resolve relative URIs. The problem is that in this context, the empty string is clearly unintentional.
0 Корень проблемы в том, каким способом URI обрабатывается браузером. Указанное поведение определено в RFC 3986 - Uniform Resource Identifiers (универсальные идентификаторы ресурсов). Это происходит когда встречается пустая строка и обрабатывается как URI согласно алгоритмам описанным в пункте 5.2, в то время как данный случай (пустая строка) указан в пункте 5.4. Firefox, Safari, и Chrome обрабатывают пустую строку согласно спецификациям, в то время как IE не совсем правильно, вероятно в соответствии с ранней версией спецификаций, RFC 2396 - Uniform Resource Identifiers (отменено спецификацией RFC 3986). Так что технически, браузеры делают то, что они должны делать для обработки относительных адресов. Проблема в том, что в данном контексте пустая строка совершенно не предусмотрена.
→Possibly corrupt user data. If you are tracking state in the request, either by cookies or in another way, you have the possibility of destroying data. Even though the image request does not return an image, all of the headers are read and accepted by the browser, including all cookies. While the rest of the response is thrown away, the damage may already be done.
0 Возможна порча пользовательских данных. Если вы отслеживаете состояние в запросе, куками или другим способом, вы можете нарушить данные. И хотя запрос картинки не возвращает картинку, все заголовки читаются и принимаются браузером, включая все куки. В то время, как остаток ответа отбрасывается, ущерб уже может быть нанесен.
→Waste server computing cycles generating a page that will never be viewed.
0 Лишние циклы расчетов сервера генерируются страницами, которые никогда не будут просмотрены.
→Cripple your servers by sending a large amount of unexpected traffic, especially for pages that get millions of page views per day.
0 Перегрузкой ваших серверов отсылкой большого количества бесполезного трафика, особенно на страницах, которые генерируют миллионы просмотров в день.
→Why is this behavior bad?
0 Чем плохо такое поведение?
→Opera does not do anything when an empty image src is encountered.
0 Opera ничего не делает, когда встречается пустая картинка.
→Firefox 3 and earlier versions behave the same as Safari and Chrome, but version 3.5 addressed this issue[bug 444931] and no longer sends a request.
0 Firefox 3 и предыдущие версии ведут себя подобно Safari и Chrome, однако в версии 3.5 данный вопрос уже рассмотрен [bug 444931] {URL} и браузер больше не посылает запрос.
→Safari and Chrome make a request to the actual page itself.
0 Safari и Chrome делают запрос к самой текущей странице.
→Internet Explorer makes a request to the directory in which the page is located.
0 Internet Explorer делает запрос к директории, в которой находится страница.
→Both forms cause the same effect: browser makes another request to your server.
0 Оба случая приводят к одному и тому же: браузер делает повторный запрос к серверу.
→var img = new Image();
img.src = "";
0 var img = new Image();
img.src = "";
→JavaScript
0 JavaScript
→<img src="">
0 <img src="">
→straight HTML
0 чистый HTML
→Image with empty string src attribute occurs more than one will expect. It appears in two form:
0 Картинки с пустым атрибутом src встречаются чаще, чем вам может показаться. Они бывают двух видов:
→Packing components into a multipart document is like an email with attachments, it helps you fetch several components with one HTTP request (remember: HTTP requests are expensive). When you use this technique, first check if the user agent supports it (iPhone does not).
0 Упакованные компоненты в многостраничных документах - как письмо с вложениями. Это поможет вам получить несколько компонентов одним HTTP запросом (помните: HTTP запросы дорого обходятся). Когда вы используете данную технику, сначала проверьте - поддерживает ли ее пользовательский агент (Айфон нет).
Резюме
Пол:
мужчина
Родной язык:
русский
С нами:
с 9 февраля 2009 г. (6460 дней) по приглашению notabenoid
Деятельность:
100058 версий перевода с общим рейтингом 9
10 комментариев
Карма: 1 (оценок: 3)
Написать Alexasa личное сообщение