<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tau-Design &#187; javascript</title>
	<atom:link href="http://tau-design.net/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://tau-design.net</link>
	<description>Новинки кино, авто, футбола</description>
	<lastBuildDate>Wed, 23 May 2012 00:00:24 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Об Ajax</title>
		<link>http://tau-design.net/ob-ajax/</link>
		<comments>http://tau-design.net/ob-ajax/#comments</comments>
		<pubDate>Fri, 02 May 2008 07:15:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://tau-design.net/?p=9</guid>
		<description><![CDATA[По-английски AJAX произносится как эй-джэкс, по-русски довольно распространено &#171;аякс&#187;. Вроде бы все красиво, но есть несколько подводных камней, о которых я вам ниже и расскажу. Ajax &#8212; не просто акроним, это идея Вообще Ajax и является акронимом от «Асинхронный JavaScript и XML», это не раскрывает его идеологию. Ajax &#8212; идеология, которая гласит, что для работы [...]]]></description>
			<content:encoded><![CDATA[<p>По-английски AJAX произносится как эй-джэкс, по-русски довольно распространено &#171;аякс&#187;.<br />
Вроде бы все красиво, но есть несколько подводных камней, о которых я вам ниже и расскажу.<span id="more-24"></span></p>
<h2>Ajax &#8212; не просто акроним, это идея</h2>
<p>Вообще Ajax и является акронимом от «Асинхронный JavaScript и XML», это не раскрывает его идеологию. Ajax &#8212; идеология, которая гласит, что для работы серверного веб-приложения, совершенно не обязательно перезагружать всю страницу, бесполезно гоняя данные от сервера к клиенту и обратно. Использование Ajax’a позволяет сделать веб-приложение более гибким и современным, позволяя пользователям работать с веб-приложением более продуктивно и удобно.</p>
<h2>Это по-настоящему JavaScript</h2>
<p>Ajax-приложения пишут на JavaScript и, обычно, используют объект XMLHttpRequest для передачи данных (для браузеров от Microsoft &#8212; ActiveXObject(Microsoft.XMLHTTP) &#8212; ничего не поделаешь). Объект XMLHttpRequest был одобрен World Wide Web Consortium. Так как технология получила широко распространение относительно только что, то никакого общего стандарта нет, как следствие &#8212; различные браузеры могут по разному понимать Ajax либо просить особо подхода, яркий пример чего &#8212; браузеры от Microsoft. Для более глобальной совместимости можно применять иные технические решения, например фреймы, кукисы, Java-аплет либо Flash. Впрочем в случае, если фреймы и куки не всегда справляются с возложенной задачей, то Java-аплет либо Flash чересчур тяжеловесны. Вы когда-то в страшном сне представляли админку WordPress&#8217;a сделанную целиком на флеше?</p>
<p>Независимо от того, используете вы Ajax либо нет, JavaScript поднялся до новых, раньше не доступных ему, высот. Сейчас это полноценный инструмент для современного веб-мастера, игнорировать его более нет смысла, он полезен и удобен для пользователя. К примеру я активно начал учить JavaScript, в случае, если раньше я довольствовался каким-то общим представлением и написанием несложных скриптов &#8212; то теперь я начал рыть глубже, так как я собираюсь работать с Ajax более тесно.</p>
<p>Разработчики, которые считают JavaScript вредным или второсортным языком, избегают его как только могут. Впрочем в случае, если перед вами стоит задача написать Ajax-приложение, вам все равно придется применять JavaScript. Аналогией могут служить разве что Java-аплеты либо Flash.</p>
<p>Ajax чрезвычайно интерактивен, потому при ошибках проектирования приложения либо кодинга, могут возникнуть проблемы. Ajax принял в наследство все правила отличного тона от JavaScript, все правила и запреты &#8212; касается написания, отладки и тестирования уже готового приложения.</p>
<h2>XML вовсе необязателен</h2>
<p>Не смотря на то, что «X» в акрониме Ajax пошла именно от XML, его использование вовсе необязательно. Весьма допустимо применять просто текст, допустим, с разделителями, а то и просто части HTML кода (что я и делаю, в общем-то, скрипт, к которому отправлялся запрос генерирует готовый фрагмент кода, который просто заменяет прошлый код). А кроме того кто-нибудь использует YAML разметку.</p>
<p>XMLHttpRequest пока нехорошо работает с бинарным форматом данных, в отличие от Flash. Но в ближайшее время такая ситуация, по-моему, будет исправлена. Уже теперь есть фиксы, костыли &#8212; но все не то.</p>
<p>Как вывод &#8212; проанализируйте, какой формат данных в вашем случае удобней и быстрее обрабатывается. Например для несложных манипуляций замечательно подойдет YAML либо CSV, а XML будет излишне толстым <img src='http://tau-design.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Рассчитывайте и планируйте увеличение HTTP запросов</h2>
<p>Очевиднейшая проблема для веб-мастера заключается в том, что что веб-приложение отныне будет отсылать не пару сотен Kb раз, например, в 10 минут, а более зачастую более мелкими объемами. На деле это означает возможность появления задержек в обработке Ajax-запросов и усиления нагрузок на веб-сервер. Это следует принимать во внимание еще на уровне проектирования Ajax-приложения.</p>
<h2>Оптимизируйте Ajax-запросы осторожно</h2>
<p>Не переусердствуйте, так как оптимизация запроса в результате даст вам наименьший выигрыш в скорости отправки-получения запроса. Лучше включите компрессию на стороне сервера. Все инновационные браузеры это поймут и оценят.</p>
<p>Впрочем есть решение лучше &#8212; кеширование запросов. Причем не утруждайте себя изобретением велосипеда с попыткой закешировать это на строноне клиента &#8212; кешируйте прямо на сервере. Ajax-приложение выйграет от данного немало больше, чем от сжатия.</p>
<h2>Помните о максимальном числе соединений</h2>
<p>Ajax-приложения ограничены спецификацией HTTP, которая позволяет открывать в одно и то же время не более двух соединений к одному сетевому адресу. Отличная новость в том, что в большинстве случаев данные ограничения отсутствуют. Впрочем могут возникнуть проблемы с браузером, либо с сетевым администратором. Впрочем последним, по хорошему, закрыть бы на это глаза.</p>
<h2>Следите за полученными ответами</h2>
<p>В традиционном веб-приложении, разработчики обычно не заморачиваются порядком получения данных пользователями. Да на самом деле, это и не требуется. Ajax такого не любит. Важно соблюдать очередность «отправка-прием-обработка полученного», в противном случае могут возникнуть совершенно внезапные проблемы.</p>
<h2>Пристально следите за ошибками</h2>
<p>Уже немало лет пользователи, при проблемах с отображением страницы нажимают кнопку «Назад» в браузере. В современных Ajax-приложениях это также важно. Же обычной gif картинки мало для определения состояния запроса.</p>
<p>При появлении ошибки отправляйте себе нотисы, для их анализа и ликвидации ошибок и проблем. А пользователю выведите что-то дружелюбное после определенного времени. Стоит также признать, что инновационные JS/Ajax фреймворки не умеют нормально работать с тайм-аутом.</p>
<h2>Старая сказка о безопасности</h2>
<p>В действительности Ajax-приложение так же безопасно, традиционное и как. Заголовки одинаковы, средства и способы коммуникации &#8212; также одинаковы. Вообще стоит отдельной строкой уделить внимание некоторым вещам, же классические ошибки могут спокойны стать наследством Ajax-приложения.</p>
<p>Это XSS &#8212; сам по себе он не является новинкой, просто с распространением Ajax-приложений начал набирать популярность. Хотя бы фильтруйте каждой HTML код, приходящий от пользователя. Так же проверяйте HTTP Referer &#8212; так как это важно.</p>
<p>Теперь сетевые профессионалы приходят к выводу, что ненадлежащая защита сайта, который активно использует JavaScript, может привести не только к несанкционированному доступу к вашему серверу, но и к компьютеру вашего посетителя. Будьте аккуратны и осторожны, же после будет неприятно узнать, что из-за вашей лени у кого-то увели аську либо кошелек.</p>
<p>Этот текст является свободным переводом с изменениями и дополнениями статьи <!--noindex--><a href="http://www.networkworld.com/research/2008/033108-ajax.html" target="_blank">10 things IT needs to know about Ajax</a><!--/noindex-->.</p>
<p>Ну, а если Ваши финансы позволяют отправиться на отдых куда-нибудь подальше от мрачной и серой российской действительности, забыть обо всех &#171;прелестях&#187; местной погоды, то могу посоветовать отправиться в страну юго-восточной Азии &#8212; Вьетнам.  И зайдя на один из сайтов, вы можете оформить <!--noindex--><a class="gg" href="http://www.tourskidki.ru/countrys/1012/954.html" target="_blank">он-лайн тур во Вьетнам</a><!--/noindex-->, буквально не вставая из-за компьютера.</p>
]]></content:encoded>
			<wfw:commentRss>http://tau-design.net/ob-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

