Search
Write a publication
Pull to refresh
0
0
ideamod @ideamod

User

Send message
Согласен, бесполезная дискуссия, если у нас есть только GET для чтения и POST для всего остального.

Другое дело, что причину подобного ограничения придумать сложно.
Очередное заблуждение.

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

Но сделать GET-запрос небезопасным — это уж совсем большой грех. Вот в данном примере со счетчиком, если сделать его частью ресурса — можно сразу забывать о кешировании ответов сервера. Ну потому, что каждый раз ответ будет с новыми данными.

Как избежать такого? Ну не делать счетчик частью ресурса.
Что за софистика =)

У HTTP-глаголов есть еще одна важная характеристика кроме идемпотентности — это безопасность.

Ознакомьтесь, пожалуйста, с ней.
Я не про этого говорил, а про то, что если клиент умеет отправлять POST и GET запросы, то отправить запрос с любым другим глаголом, вероятно, тоже сумеет.
Ну это очень странное высказывание. POST запрос ничем принципиально от PUT или HEAD не отличается. Данные отправляются в одном и том же виде, в запросе меняются только слова POST, PUT, HEAD (или любой другой глагол).

Если речь идет о браузерах, которые не умеют отправлять ничего кроме GET и POST, то они умеют :)
И пример с form вообще не показателен. Мы же говорим о работе с API, а я не очень представляю зачем вообще в данном случае использовать form.

Браузерный клиент, работающий с API должен будет получать, обрабатывать и отправлять данные; в зависимости от ответов сервера создавать и показывать пользователю страничку (то есть страничка больше не должна генерится как встарину сервером). А это в любом случае что-нибудь вроде JavaScript с помощью которого отправить PUT-запрос не сложнее, чем GET или POST.
Я бы тоже не отказался. Пришлите, пожалуйста :)
Блин...что-то два дня решения этой задачи не прошли даром...всмысле туплю(мозговые ресурсы кончаются)...Предыдущий мой пост - просьба не читать.
Попробую завтра проверить решение venil'а.

А всем кому интересно узнать решение моё - стучитесь в аську #206362216.
Кстати первым ходом я проверяю 4 шарика. Решение рабочее!
venil, решение вроде бы не верно.
допустим у нас комбинация 1(0000) 2(1000) 3(0000) 4(100)
ты проверяешь так:
1. 1(1000)+2(0000)=1
2. 1(1000)+3(0000)=1
3. 1(1000)+4(100)=1
У тебя остало
итого ясно, что в группе 1 - радиоактивный и в группах 2+3+4(это 11 шариков) тоже один.

Число возможных положений первого радиоактивного = 4(то есть 0001,0010,0100 и 1000)
Число возможных положений втрого шарика = 11(00000000001,000000000010 и т.д.)
Общее число возможных вариантов = 4*11=44
А у тебя всего четыре хода осталось 2^4=16

Information

Rating
Does not participate
Registered
Activity