Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Срочно нужна помощь (https://javascript.ru/forum/offtopic/47618-srochno-nuzhna-pomoshh.html)

Gozar 03.06.2014 10:22

Можно конечно создать прослойку на клиенте и прослойку на сервере, которые будут собирать и разбирать REST, но зачем? Почему я должен думать о том как данные передаются в приложении. Я что писатель протокола http? Я же не Рой Филдинг для которого возможно это было важно, мне вообще до лампочки как передаются данные, лишь бы доходили в целости. Я хочу думать о абстракции, о масштабируемости, о архитектуре, а не накладывать искусственные ограничения, а потом трахать себе ими мозг.

POST более чем достаточно. melky, Придумаешь где не достаточно, напиши.

kobezzza 03.06.2014 10:24

Gozar, прочитай мой посты выше :)

POST - это способ отправки данных, а REST - это паттерн, т.е. кислое и длинное

Gozar 03.06.2014 10:25

Цитата:

Сообщение от kobezzza
ты мне кажется напутал в терминах

Хз, Backbone использует REST и в нем все делится POST, GET, PUT, DELETE. Свое представление о REST я основывал на Backbone представлении. Если я не прав, ну что ж бывает.

Цитата:

Сообщение от kobezzza
прочитай мой посты выше

ага, прочел, лень править пост :)

kobezzza 03.06.2014 10:29

Цитата:

Хз, Backbone использует REST и в нем все делится POST, GET, PUT, DELETE. Свое представление о REST я основывал на Backbone представлении. Если я не прав, ну что ж бывает.
Ну дык реализаций множество. Я например использую передачу JSON и юзаю GET для получения данных, а POST для изменения.

Главный постулат REST, что нет передачи состояния и мы оперируем простым и очевидным протоколом для работы, при этом сервер ничего не знает про клиента и наоборот. А какой протокол мы используем и какой транспорт - это уже на наше усмотрение.

Gozar 03.06.2014 10:32

Цитата:

Сообщение от kobezzza
нет передачи состояния

Что это значит? что такое состояние?

kobezzza 03.06.2014 10:37

Цитата:

Сообщение от Gozar (Сообщение 314528)
Что это значит?

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

В REST же мы тупо передаём данные и на основе переданных данных уже работаем.

ЗЫ: вот яркий пример НЕ REST - SOAP

Gozar 03.06.2014 10:42

Цитата:

Сообщение от kobezzza
вот яркий пример НЕ REST - SOAP

А можно яркий пример при построении SPA? А то этот яркий пример как абстрактный конь. :)

Про состояния я не понимаю. База должна синхронизироваться с клиентом и ясен пень она ничего не знает о клиенте, да и собственно о сервере она тоже ничего не знает. Запросы к ней прилетают через прослойку(php). php тоже ничего не знает о клиенте. да и клиент о php.

kobezzza 03.06.2014 10:47

Цитата:

А можно яркий пример при построении SPA?
А причём тут SPA? :) Может я вопрос не понял, поясни.

Цитата:

Про состояния я не понимаю.
Ты посылаешь простой запрос, чтобы сказать, что например юзер авторизован, то шлётся аторизационная кука или ещё что: запрос обработался, вернулся результат и всё закончилось. Этот запрос может обработать любой сервер из кластера, т.к. нет никакой привязки и такую схему легко масштабировать.

Когда ты соединяешься, например, по WebSokets, то клиент связан с вполне конкретной удалённой машинкой и эту информацию можно использовать в логике приложения (т.е. ты можешь например взять и отправить клиенту сообщение) и следовательно сложнее масштабировать, т.к. нужен дополнительно синхронизирующий кластер.

***

Синхронизация БД - это вообще из другой песни.

kobezzza 03.06.2014 10:59

Цитата:

Состояние - это что?
Ответил выше.

Хз уже как разжевать, вот абстрактный пример:

REST

Привет Сервер, дай картинку! - ОК, держи - Пока!

не REST (причём с передачей состояния)

Привет сервер, дай картинку! - Ок, держи ...

Слушай клиент, тут тебе письмо пришло и вот, зацени эту милую картинку с котиками -
О спасибо сервер, продолжай держать меня в курсе...

Gozar 03.06.2014 11:01

kobezzza,
Спасибо дошло, чат(кот.держит соединение) - не REST. Теперь до меня дошло, что backbone еще большее говно, которое лезет туда, куда его не просили. И все эти их высокопарные слова про REST бессмысленный набор слов.

Ну или надо сразу брать готовую серверную часть для работы с backbone, писать свою мне не понравилось на основе их методологии.


Часовой пояс GMT +3, время: 00:15.