Javascript.RU

Передача данных по инициативе сервера, обзор COMET

Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/xhr-longpoll.

COMET-технологии позволяют организовать обновление данных на странице без участия пользователя.

Чаты, интернет-почта и многопользовательские админки - далеко не полный список, где они применимы.

В этом цикле статей - подробно описаны многочисленные тонкие моменты и решения частых проблем.

COMET (или "server push") - способ передачи данных с сервера на клиент, по инициативе сервера.

Например, у вас есть электронный магазин, и менеджер может отслеживать переходы клиента.
COMET позволяет менеджеру тут же, онлайн, спросить клиента о чем-то, предложить интересный вариант.

"По инициативе сервера" означает, что клиент сам не запрашивает сервер, он просто находится на странице.

Старейший пример COMET - чат. Человек просто находится на странице и получает новые сообщения.

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

Способов реализации COMET достаточно много. У них - самые разные характеристики, достоинства и недостатки.
Есть два основных класса.

Каждое событие на сервере браузер получает отдельным запросом. Здесь есть два основных метода.

  1. Частый опрос (polling)
  2. Длинный опрос (long-poll)

Чтобы уменьшить количество необходимых соединений и задержки, сообщения о событиях пакуют в специальные пакеты, "датаграммы".
Например, одно XML-сообщение может выглядеть как:

<events> 
  <message> 
    <from>Vasya</from> 
    <text>Привет!</text> 
  </message> 
  <notification> 
    <type>processing</type> 
    <text>Обработка завершена</text> 
  </notification> 
</events>

При очередном подключении браузер получает сразу весь пакет событий к настоящему моменту.

Браузер держит постоянное соединение с сервером, так называемый "канал", и получает через него события.

Канал связи разрывается время от времени:

  • чтобы прокси не подумал, что настал таймаут соединения и не порвал его за нас
  • для очистки памяти от мусора старых сообщений

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

  1. Бесконечный IFrame
  2. XMLHTTPRequest, interactive
  3. Multipart XMLHTTPRequest
  4. Event-source

Вы найдете их в других статьях этого раздела.

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

Такое встречается редко, но прокси может буферизовать определенное количество данных до передачи клиенту. Например, принимать и отдавать ответ блоками по 2К. В этом случае сообщения будут оставаться на прокси, и ждать, пока их не наберется 2К (или какой там размер буфера) байт, и только тогда - передаваться клиенту.

Решение - добавлять к каждому сообщению 2K пробелов.

Неизвестно, коснется ли Вас эта проблема. Надеюсь, что нет, но иметь в виду буферизацию прокси как возможную причину жалоб пользователей - надо обязательно.

IFrame, который служит для передачи сообщений, НЕ должен сжиматься gzip/deflate. Иначе говоря, для служебного URL сообщений сжатие должно быть отключено.

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

Это - неприятное последствие хакерской натуры iframe. Например, в long poll сжатие проходит на ура, т.к события не являются частью одной страницы.

Не забудьте отключить буферизацию сервером. В связке Apache/PHP - отключите output buffering и включите ob_implicit_flush:

while (@ob_end_flush()) {}
ob_implicit_flush(1);

// ну и конечно убрать лимит на время выполнения скрипта
set_time_limit(0);

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

  1. Реализация длинного коннекта, как правило, усложняет архитектуру. Возможно, можно обойтись решением попроще?
  2. Ряд веб-серверов плохо оптимизированы под большое количество длинных соединений. Например, используются потоки или процессы, которые отъедают фиксированное количество ресурсов и не освобождают их до конца соединения.На уровне OS проблема решается использованием kqueue(FreeBSD) или epoll(Linux).На уровне веб-сервера можно использовать
    1. Apache MPM event для apache 2.2 (экспериментальный и ограниченный MPM, специальный поток обрабатывает Listening и Keep-Alive сокеты)
      не работает как следует с mod_perl/mod_php
    2. Jetty (Java) / Twisted(Python), nginx и другие специализированные серверы c одним потоком/процессом на много клиентов.

    Потянет ли текущая серверная архитектура длинные соединения? Ответ неочевиден для сотен/тысяч одновременных соединений, но, скажем, до 100 соединений в любой архитектуре все хорошо.

  3. Насколько долго пользователи находятся на одной и той же странице? При переходах коннект, скорее всего, придется открывать заново в любом случае.
  4. Если допустимы задержки доставки событий, то, может быть, хватит частого опроса?

Посмотрим на взаимодействие клиент-сервер "с высоты птичьего полета", выше деталей передачи данных, транспортов и т.п. Например, так это сделано в специализированном server-push движке lightstreamer.

Соединения с сервером делятся на два типа

  1. Control connection - контрольные соединения, через которые клиент отправляет запросы на сервер. Это - обычные AJAX-запросы через XMLHTTPRequest.
  2. Push connection(channel) - поток событий, соединение, через которые клиент получает события с сервера

У всех событий на сервере есть тип. Клиент может подписываться и отписываться на интересующие его события через контрольные соединения. Для удобства типы организованы по схемам. Например, в схеме chat может быть тип message.

Например, следующая диаграмма описывает типичную последовательность действий:

  1. Клиент открывает потоковое соединение к серверу
  2. Клиент подписывается на события типа Item1 в схеме Schema1
  3. Сервер шлет события
  4. Клиент отписывается от событий через новое контрольное соединение
  5. Клиент закрывает соединение

Или - вот более сложная диаграмма, в которой клиент подписывается уже на разные типы событий:

В качестве транспорта в lightstreamer используется iframe. Время от времени его необходимо закрывать для очистки от принятых объектов. При закрытии сессии (это же происходит при refresh страницы в браузере) сервер буферизует новые события до некоторого таймаута и отдает их, как только открывается новая сессия Stream Connection 2 того же пользователя.

Вообще, буферизация событий - общий прием, который позволяет мягко переживать закрытие соединения, и нужен при любом транспорте.


Автор: OS master (не зарегистрирован), дата: 4 сентября, 2008 - 01:52
#permalink

Скажите, а как при помощи mpm event решить вопрос создания апачем файлов от юзеров, которым принадлежит папка, в которой работает скрипт, а не nobody.
Спасибо!


Автор: Илья Кантор, дата: 4 сентября, 2008 - 08:15
#permalink

Вообще-то это не по теме, но все равно ответ - никак


Автор: Гость (не зарегистрирован), дата: 9 февраля, 2023 - 10:25
#permalink

Learning how to communicate with other snake game means learning more about yourself and your own emotional development.


Автор: Анатолий (не зарегистрирован), дата: 2 декабря, 2008 - 21:34
#permalink

неужели в этом можно разобраться?


Автор: Илья Кантор, дата: 3 декабря, 2008 - 11:30
#permalink

Изображения вверху записаны в UML-нотации. Конкретнее - это диграммы последовательности (sequence diagram).

Возможно, проще (и полезнее) - разобраться сначала с sequence diagram в UML вообще, а потом - в конкретными диаграммами здесь.


Автор: Гость (не зарегистрирован), дата: 6 января, 2010 - 16:07
#permalink

А сорс есть?


Автор: dima0000 (не зарегистрирован), дата: 16 марта, 2010 - 09:48
#permalink

я хотел бы написать на perl такой чат c jquery

можете ли вы подсказать как в этом разобратся?
нужно написать демона на сокетах? как это все будет?


Автор: Valery (не зарегистрирован), дата: 31 августа, 2010 - 16:45
#permalink

Илья,

Есть ли у Вас информация о том какие из методов используют большие компании вроде Facebook (чат, оповещения), Gmail (чат), Twitter (notifications)?


Автор: Илья Кантор, дата: 31 августа, 2010 - 20:32
#permalink

Добрый день!

Facebook - Tornado (их разработка, Open Source, Python), Gmail - свой сервер, клиентская часть - open source Google Closure Library, Twitter - не в курсе...

--
Илья


Автор: Гость (не зарегистрирован), дата: 14 октября, 2010 - 21:43
#permalink

Twitter - Erlang и Scala


Автор: Илья Кантор, дата: 15 октября, 2010 - 10:10
#permalink

Источник?


Автор: dordle12 (не зарегистрирован), дата: 16 августа, 2023 - 12:50
#permalink

I value your message, and I'm looking forward to hearing what you say. Play with me if you have time at a terrific game I found called dordle.


Автор: TOTOBLOG (не зарегистрирован), дата: 16 октября, 2023 - 06:24
#permalink

I think that's one of the very important information for me. And I'm glad to study your article. But I'd like to comment on some general things. The website tastes good, and the articles are actually great: D. Good process, cheers. 검증된메이저사이트


Автор: Аннакенна (не зарегистрирован), дата: 16 ноября, 2023 - 07:05
#permalink

В этом тексте описывается rice purity test COMET, метод передачи данных с сервера клиенту при запуске с сервера. COMET используется во многих приложениях, таких как чат, электронная почта и многопользовательское управление. Существует два основных метода развертывания COMET: опрос (регулярное исследование) и длительный опрос (долгосрочное исследование).


Автор: TomHidd (не зарегистрирован), дата: 4 января, 2024 - 12:27
#permalink

COMET technology provides a valuable means of achieving dynamic content updates without requiring constant user input or the use of any other tools such as a time card calculator


Автор: TomHidd (не зарегистрирован), дата: 4 января, 2024 - 12:28
#permalink

COMET technology provides a valuable means of achieving dynamic content updates without requiring constant user input


Автор: Гость (не зарегистрирован), дата: 11 января, 2024 - 05:55
#permalink

In essence, the output from the Grade calculator acts as the input for the GPA calculator.


Автор: wicked whims (не зарегистрирован), дата: 22 февраля, 2024 - 13:43
#permalink

Thanks for this kind of information.It was really helpfull.Going to share it with my friends too. wicked whims


Автор: taylorsteven001 (не зарегистрирован), дата: 23 февраля, 2024 - 08:46
#permalink

Greatfull for the thorough research evident in this blog. It's reassuring to know that the information provided is reliable and well-founded. Thank you for your diligence! wickedwhims


Автор: Hulu activation (не зарегистрирован), дата: 24 февраля, 2024 - 10:11
#permalink

Hey There. I found your blog. This is a really well written article.


Автор: Innocence test (не зарегистрирован), дата: 24 февраля, 2024 - 13:50
#permalink

Thanks for bringing attention to this important issue. More people need to be aware of its significance.


Автор: tubi tv activate (не зарегистрирован), дата: 26 февраля, 2024 - 13:34
#permalink

I am really pleased to read this website posts which carries tons of valuable information, thanks for providing these kinds of statistics tubi tv activate.


Автор: tubi tv activation (не зарегистрирован), дата: 27 февраля, 2024 - 15:12
#permalink

Amazing! Its really remarkable piece of writing, I have got much clear idea regarding from this post tubi tv activation.


Автор: tubi tv activate (не зарегистрирован), дата: 28 февраля, 2024 - 09:52
#permalink

I read your message, and I thought it was quite insightful and helpful. I appreciate the thoughtful information tubi tv activate you include in your publications. You can find out more by visiting my website.


Автор: Mariali (не зарегистрирован), дата: 28 февраля, 2024 - 11:47
#permalink

Knowing that the information is trustworthy and based on solid evidence is comforting.
run 3


Автор: wickedwhims (не зарегистрирован), дата: 29 февраля, 2024 - 09:56
#permalink

I am happy by reading your enjoyable article, Keep uploading more interesting articles like this wicked whims.


Автор: wicked whims (не зарегистрирован), дата: 1 марта, 2024 - 08:53
#permalink

I admire you sharing this excellent and helpful information. To find out more about activation and other information, you may also visit my website wicked whims.


Автор: RichardWilliam (не зарегистрирован), дата: 21 марта, 2024 - 07:15
#permalink

This article provides a comprehensive overview of COMET, a server-initiated data transfer method. It discusses various implementation methods and common issues associated with maintaining persistent connections. Speaking of real-time communication, have you heard of Omegle?


Автор: spotify.com/pair (не зарегистрирован), дата: 27 апреля, 2024 - 11:12
#permalink

I admire you sharing this excellent and helpful information. To find out more about activation and other information, you may also visit my website spotify.com/pair.


Автор: Metamask Extension (не зарегистрирован), дата: 30 апреля, 2024 - 11:40
#permalink

Safely manage your cryptocurrency with the official MetaMask extension. Securely store, send, and receive digital assets all in one convenient place. Metamask extension | Metamask extension


Автор: Гость (не зарегистрирован), дата: 1 мая, 2024 - 22:09
#permalink

Upgrade WhatsApp chatting with MBWhatsApp APK Download. Get cool privacy tools, unlimited themes, scheduled texts, anti-revoke and more awesome features. Latest version for Android/iOS for MBios. Customize to next level! Easy download.
MB Whats is your prime source for MBWhatsApp, the popular modded version of WhatsApp. Stay updated on the latest MBWhatsApp APK releases, guides, tips and news.
MBWhatsApp APK Download on your android device and you can have a look of iOS on your device and you can make different customizations.


Автор: Гость (не зарегистрирован), дата: 1 мая, 2024 - 22:14
#permalink

This article provides a comprehensive overview of COMET, a server-initiated data transfer method. It discusses various implementation methods and common issues associated with maintaining persistent connections. Speaking of real-time communication, have you heard of Photoleap MOD APK


Автор: Гость (не зарегистрирован), дата: 1 мая, 2024 - 22:15
#permalink

I admire you sharing this excellent and helpful information. To find out more about activation and other information, you may also visit my website Pikashow APK


Автор: Гость (не зарегистрирован), дата: 1 мая, 2024 - 22:16
#permalink

I am happy by reading your enjoyable article, Keep uploading more interesting articles like this Blue WhatsApp Plus APK


Автор: Гость (не зарегистрирован), дата: 1 мая, 2024 - 22:17
#permalink

IGram on Download Instagram videos easily with IGram . This free online tool lets you save Instagram video posts directly to your device.


Автор: spotify.com/pair (не зарегистрирован), дата: 3 мая, 2024 - 14:02
#permalink

I read your message, and I thought it was quite insightful and helpful. I appreciate the thoughtful information you include in your publications. You can find out more by visiting my website.


Автор: google zerg rush (не зарегистрирован), дата: 4 мая, 2024 - 10:37
#permalink

I am happy by reading your enjoyable article, Keep uploading more interesting articles like this.


Автор: Гость (не зарегистрирован), дата: 5 мая, 2024 - 16:13
#permalink

Securely login to your Metamask account with ease using Metamask Login. Manage all of your Ethereum transactions and tokens in one convenient place. Metamask Login | Metamask Login


Автор: lucas lucas (не зарегистрирован), дата: 7 мая, 2024 - 07:03
#permalink

Airpuff is a compact, handheld air purifier that utilizes advanced technology to eliminate airborne pollutants such as dust, allergens, and odors.


Автор: daisylee (не зарегистрирован), дата: 9 мая, 2024 - 12:30
#permalink

trezor app is a secure digital wallet for managing cryptocurrencies. It offers strong encryption, offline storage, and user-friendly features for securely storing, sending, and receiving digital assets.

trezor.io is the official website for Trezor hardware wallets, providing easy and secure storage, management, and protection of cryptocurrencies. Discover their range of products, app, and backup solutions to safeguard your digital assets.


Автор: daisylee (не зарегистрирован), дата: 9 мая, 2024 - 12:30
#permalink

trezor app is a secure digital wallet for managing cryptocurrencies. It offers strong encryption, offline storage, and user-friendly features for securely storing, sending, and receiving digital assets.

trezor.io is the official website for Trezor hardware wallets, providing easy and secure storage, management, and protection of cryptocurrencies. Discover their range of products, app, and backup solutions to safeguard your digital assets.


Автор: Гость (не зарегистрирован), дата: 10 мая, 2024 - 13:25
#permalink

Secure and streamline your crypto transactions with the Phantom Wallet Extension. Easily manage your digital assets and experience top-notch security. Download now! Phantom Wallet Extension | Phantom Wallet Extension


Автор: service provider (не зарегистрирован), дата: 10 мая, 2024 - 14:43
#permalink

Our lives are incomplete without spices and taste, right? If you agree then you know how much spice a seductive Vasant Kunj Escorts Service girls can add to your life. That's why you should look for our Vasant Kunj escorts. We are one of the best places where you can meet a lot of sexy girls together .


Автор: louanniaaoo (не зарегистрирован), дата: 19 мая, 2024 - 11:41
#permalink

Metamask Chrome emerges as a powerful tool, seamlessly integrating blockchain functionalities into the familiar environment of the Chrome browser. Whether you're a seasoned crypto enthusiast or just beginning to explore the possibilities of decentralized finance (DeFi), Metamask Chrome offers a user-friendly gateway to the world of cryptocurrencies

Metamask Chrome | Metamask Chrome


Автор: Гость (не зарегистрирован), дата: 29 мая, 2024 - 22:33
#permalink

Take control of your digital assets with the power of Metamask Wallet Extension. Safely store, send, and receive cryptocurrencies with ease. Your keys, your coins – all in one secure place. Metamask Wallet Extension | Metamask Wallet Extension


Автор: Гость (не зарегистрирован), дата: 11 июня, 2024 - 17:07
#permalink

Системный администратор — важное звено в команде. Этот человек обеспечивает стабильную бесперебойную работу всех ПК в офисе, настраивает ПО и делает еще много полезных вещей. Жаль, что далеко не каждой компании выгодно нанимать таких специалистов. Объективно, но маленьким предприятиям, в которых работает до 20 человек, нет смысла нанимать системного администратора. Это не значит, что им не нужно обновлять программное обеспечение или настраивать сервис. Нет, им просто проще заказать вызов системного администратора в офис в Днепре Сегодня системный администратор — одна из самых выгодных услуг для руководителей. Она экономит деньги и позволяет пользоваться услугами действительно компетентных специалистов, которые каждый день оттачивают свои навыки на практике.


Автор: Гость (не зарегистрирован), дата: 16 июня, 2024 - 11:45
#permalink

Онлайн-помощь вашему компьютеру без визита компьютерного мастера https://comp-service.kiev.ua/udalenka.html
Нужна помощь компьютерного мастера? Приезд мастера не обязателен. Главное, чтобы у вас был интернет. Мы удаленно устраним вирусы, установим необходимое ПО и антивирусы, ускорим работу компьютера и интернета, заблокируем рекламу, дадим советы по кибербезопасности и восстановим данные.


Автор: سم سوسک ریپلزال (не зарегистрирован), дата: 16 июня, 2024 - 21:47
#permalink

سم سوسک ریپلزال
سوسک ها حشراتی ناخوشایند و مزاحم هستند که می توانند ناقل بیماری های مختلف باشند. سم سوسک ریپلزال با فرمولاسیون قوی و موثر خود، راه حلی ایده آل برای دفع این آفات مزاحم از خانه و محل زندگی شما است.

در این ادامه، به بررسی کامل سم سوسک ریپلزال، مزایا و معایب آن، نحوه استفاده از آن و نکات ایمنی مربوط به آن می پردازیم. اگر تمایل به خرید سم اصل با دریافت مشاوره جهت انجام سم پاشی اصولی دارید می توانید از ظربق صفحه تماس با ما با مشاورین سم فروش ارتباط برقرار کنید.


Автор: Derewsa (не зарегистрирован), дата: 17 июня, 2024 - 10:05
#permalink

Когда нужно отыскать самый ближайший хостел к центральной части Пруща Гданьского, оптимальным решением будет заказ места в помещениях нашей компании. Проживая в центральной части города удастся пешком добираться до супермаркетов, аптек, а также до различных государственных административных учреждений всего за несколько минут. Мы ценим мнение каждого клиента, поэтому предлагаем комфортабельный хостел в Пруще Гданьском по минимальной стоимости. В качестве номеров вы можете убедиться самостоятельно, забронировав один из них прямо сейчас! Телефоны для связи указаны на официальном сайте https://eurohostell.pl/pruszcz_gdanski Также доступно бронирование номеров


Автор: Гость (не зарегистрирован), дата: 18 июня, 2024 - 18:05
#permalink

Unleash your inner power with SaitaMask - the ultimate tool for achieving your goals and conquering any challenge. Take control of your destiny and experience true transformation with SaitaMask by your side. SaitaMask

The ultimate decentralized trading solution - AtomicDEX Wallet puts the power of atomic swaps in your hands. Trade with confidence and security like never before. AtomicDEX Wallet


Автор: فروشگاه آرایشی بهداشتی (не зарегистрирован), дата: 19 июня, 2024 - 02:18
#permalink

فروشگاه آرایشی بهداشتی اینترنتی آباناشاپ، عرضه‌کننده و ارائه‌دهنده محصولات وارداتی و اورجینال سلامتی و زیبایی بانوان، آقایان و کودکان است که فراتر از یک فروشگاه اینترنتی، با داشتن تیم مجرب و متخصص این امکان را فراهم کرده است که قبل از خرید محصول با مشاوره رایگان بهترین محصول را تهیه فرمایید.


Автор: فروشگاه آرایشی بهداشتی (не зарегистрирован), дата: 26 июня, 2024 - 13:13
#permalink

فروشگاه اینترنتی آباناشاپ، عرضه‌کننده و ارائه‌دهنده محصولات وارداتی و اورجینال سلامتی و زیبایی بانوان، آقایان و کودکان است که فراتر از یک فروشگاه اینترنتی، با داشتن تیم مجرب و متخصص این امکان را فراهم کرده است که قبل از خرید محصول با مشاوره رایگان بهترین محصول را تهیه فرمایید.
https://abanashop.ir/


Автор: Mikel clark (не зарегистрирован), дата: 28 июня, 2024 - 12:58
#permalink

Looking for a top-tier photo editor with premium features for free? Try AI Mirror Mod APK! This version offers ad-free editing, high-resolution outputs, and a variety of artistic styles, including anime and 3D cartoons. Perfect for anyone wanting to unleash their creativity without limitations. Download AI Mirror Mod APK now and turn your photos into stunning artworks!


Автор: Гость (не зарегистрирован), дата: 28 июня, 2024 - 14:05
#permalink

Just played Traffic Rider on PC – the graphics are stunning and the controls are super smooth! A must-try for racing fans!


Автор: Гость (не зарегистрирован), дата: 28 июня, 2024 - 15:01
#permalink

Hey everyone,

I found a mod APK for Dude Theft Wars that gives you unlimited money and unlocks all features! If you want to experience the game without any limitations, check this out. Visit url for more details.


Автор: Гость (не зарегистрирован), дата: 12 июля, 2024 - 08:14
#permalink

Wallet Connect is a game-changer in the world of digital wallets. This innovative protocol connects decentralized applications (dApps) to mobile wallets. It allows users to interact securely without sharing private keys. But how does it work, and why is it essential? Wallet Connect | Wallet Connect


Автор: Гость (не зарегистрирован), дата: 18 июля, 2024 - 12:30
#permalink

Phantom Wallet Extension is a powerful tool for managing cryptocurrency assets. With its user-friendly interface, it has become a favorite among crypto enthusiasts. This extension simplifies the process of handling digital currencies, making it accessible to everyone. Phantom Wallet Extension | Phantom Wallet Extension


Автор: Abbas Khan (не зарегистрирован), дата: 22 июля, 2024 - 12:36
#permalink

Terabox Mod APK is a modified version of the official Terabox app having premium features For Free of cost. Its main features are unlimited cloud storage, ads free browsing and faster downloading speed. Terabox cloud storage space is upto 1TB. It also makes the browsing and downloading speed faster and make you free from hesitation of watching ads.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
9 + 1 =
Введите результат. Например, для 1+3, введите 4.
 
Текущий раздел
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum