Будьте в курсе последних событий, подпишитесь на обновления сайта

Глава 10. AJAX

Сравнение транспортов и их возможностей

Здравствуйте!  В этой последней  статье, посвященной технологии AJAX я хотел бы сравнить так называемые транспорты это то посредством чего общаются клиент и сервер. И также привести краткий отчет о возможностях каждого транспорта. Итак давайте начинать.

сравнение транспортов ajax

Читать далее

Метод fetch как замена XMLHttpRequest

Здравствуйте!  Сегодня хочу рассказать о методе fetch, который используется как  замена уже  рассмотренному методу XMLHttpRequest.  Метод fetch – это своего рода XMLHttpRequest нового поколения. Он предоставляет усовершенствованный  интерфейс для осуществления запросов к серверу: как по части контроля над происходящим, так и по синтаксису, так как построен на промисах.

Поддержка в браузерах  уже поддерживают все браузеры, кроме IE.

Метод fetch как замена XMLHttpRequest

Читать далее

Атака типа CSRF

Здравствуйте! В этом уроке я хотел бы рассказать о такой  атаке как  CSRF.  Ведь нельзя говорить про AJAX и не упомянуть про очень важную деталь его реализации – защиту от CSRF-атак.

CSRF (Cross-Site Request Forgery, также XSRF) – опаснейшая атака, которая приводит к тому, что злоумышленник может выполнить на сайте массу различных действий от имени других, зарегистрированных посетителей.

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

Атака csrf

Читать далее

Server Side Events — события на стороне сервера

Здравствуйте! В этом уроке я расскажу о такой технологии, как Server Side Events, которая позволяет  браузеру общаться с сервером.  Сразу  хочу заметить, что на сегодняшний день этот способ поддерживают все современные браузеры, кроме конечно же  IE и Edge.

Стандарт Server-Sent Events позволяет браузеру создавать объект EventSource, который сам устанавливает соединение с сервером, делает пересоединение в случае потери соединения и генерирует различные  события при поступлении данных.

Он  может  даже меньше, чем WebSocket’ы.

С другой стороны, Server Side Events проще в реализации, работают по протоколу HTTP и сразу поддерживают ряд возможностей, которые для WebSocket ещё надо делать.

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

server side events

Читать далее

Протокол JSONP

Здравствуйте!  От протокола Websocket перейдем к протоколу JSONP. Ведь если создать тег <script src>, то при добавлении на странице запустится процесс загрузки атрибута src. В ответ на него сервер может прислать скрипт, содержащий нужные данные.

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

Протокол JSONP – это собственно «надстройка» над таким способом взаимодействия с сервером. Давайте рассмотрим подробнее.

Протокол jsonp

Читать далее

Протокол WebSocket

Здравствуйте! В продолжении темы COMET с XMLHttpRequest: непрерывные опросы рассмотрим еще один вариант обмена между браузером и сервером — протокол WebSocket, который позволяет пересылать любые данные на любой домен и без всякого лишнего сетевого трафика. И давайте как всегда начнем с примеров.

Протокол Websocket

Читать далее

COMET с XMLHttpRequest: непрерывные опросы

Здравствуйте! В этом уроке мы рассмотрим способ организации COMET, то есть непрерывного  потока получения данных с сервера, который очень прост и используется в 95% случаях. Где можно использовать COMET? Наверное при частых опросах сервера, когда  надо отслеживать изменение данных и реагировать на эти изменения.

comet частые опросы

Читать далее

XMLHttpRequest и возобновляемая закачка

Здравствуйте! В этой статье я  хочу рассказать о так называемой возобновляемой закачке во время запроса файла методом XMLHttpRequest.  Ведь он  даёт возможность загружать файл как угодно: во множество потоков, с догрузкой  и прочими вариантами.

XMLHttpRequest и возобновляемая закачка

Тут же мы рассмотрим подход к организации загрузки.

Читать далее

XMLHttpRequest: стадии закачки

Здравствуйте!  В этом уроке я  хочу  рассмотреть стадии  закачки  данных при  отправке запроса методом XMLHttpRequest.  Собственно сам  запрос  состоит из 2 фаз:

  1. Стадия закачки (upload). На ней данные как  раз  загружаются на сервер. Эта фаза может быть долгой для запросов типа  POST. Для отслеживания прогресса на стадии закачки существует  XMLHttpRequestUpload, доступный как xhr.upload.
  2. Стадия скачивания (download). После того, как данные загружены, браузер должен  скачать ответ с сервера. Если он большой, то это может занять длительное время. На этой стадии надо  использовать  обработчик xhr.onprogress.

Но давайте обо все по порядку.

Читать далее

XMLHttpRequest и кросс-доменные запросы

Здравствуйте! Обычно запрос XMLHttpRequest может делать запрос только на текущий сайт. При попытке использовать иной домен – браузер выдаёт ошибку. Делается  это из соображений  безопасности,  чтобы не  было  возможности провести атаку типа XSS взлом.

Существует и современный стандарт XMLHttpRequest, он ещё правда в состоянии черновика, но предусматривает кросс-доменные запросы и многое другое.

Большинство возможностей этого стандарта уже поддерживаются всеми браузерами.

кроссдоменные запросы xmlhttprequest

Читать далее

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: