[python] Roboti, REST, Flask?

Petr Viktorin encukou na gmail.com
Středa Září 16 09:37:41 CEST 2015


2015-09-16 7:45 GMT+02:00 Petr Blahos <petrblahos na gmail.com>:
> Ještě poznámečka: Pokud bude GET měnit vnitřní stav aplikace, a povede k
> němu
> nějaký link, tak ho Google klidně navštíví při indexování :-) Nebo jak měl
> kdysi takové
> to přednačítání odkazů...

Je psáno [1], že GET nemá měnit stav, a spousta nástrojů to předpokládá.
Kromě robotů to předpokládají třeba různé keše nebo load balancery. Ty
sice teď asi nepoužíváš, ale neměl bys zapomenout na to, že *učíš*
lidi používat HTTP. Nauč je to prosím správně.

[1] ve specifikaci HTTP: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
> the GET and HEAD methods SHOULD NOT have the significance of taking an action other than retrieval. These methods ought to be considered "safe".

> 2015-09-15 22:33 GMT+02:00 Ales Zoulek <ales.zoulek na gmail.com>:
>>
>> Technicky rozdil mezi PUT a GET je minimalni. Je ale konvence, aby akce
>> odpovidala tomu HTTP "slovesu".
>>
>> Uplnym minimem je rozliseni mezi GET a POST. Tzn. GET (narozdil od POST)
>> by nemel menit vnitrni stav serveru, pouze ten stav cist.
>>
>> HTTP REST uz je striktnejsi a popisuje presnejsi pouziti i DELETE, PUT,
>> PATCH, etc.
>>
>> Pokud nemas vylozene duvod to nedodrzovat, tak je lepsi se te konvence
>> drzet.
>>
>>
>> A.
>>
>> On Tue, Sep 15, 2015 at 9:54 PM Marek Nožka <marek na tlapicka.net> wrote:
>>>
>>> Ahoj
>>>
>>> On Tue, 15 Sep 2015 08:40:33 +0200 Honza Javorek <mail na honzajavorek.cz>
>>> wrote to Konference PyCZ <python na py.cz>:
>>>
>>> > Jestli mají posílat nějaké informace a těma měnit stav na serveru, tak
>>> > musíš použít i něco jiného než GET, pokud se budeme bavit aspoň o
>>> > samotném
>>> > blbém HTTP, když už ne o RESTu.
>>>
>>> To je právě to, co nechápu. Pokud vezmu množinu jednoduchých akcí jaký je
>>> rozdíl mezi
>>>
>>> GET /123acb/krok
>>>
>>> a mezi
>>>
>>> PUT
>>> id = "123abc",
>>> akce = "krok"
>>>
>>> Chápu, že když chci poslat nějaký větší objem dat je PUT jistě lepší, ale
>>> pokud jde jen o jednoduché povely, co mi PUT nebo DELETE přináší za
>>> výhodu?
>>>
>>> > Já bych ti to klidně nějak zkusil namodelovat, ale k tomu by se hodila
>>> > komplet pravidla té hry a možné stavy, do jakých se lze dostat a jak se
>>> > do
>>> > nich lze dostat.
>>>
>>> Pravidla jsou zatím velice jednoduchá:
>>> Server umístí hráče na hrací pole a ukáže jim, kde je poklad. V každém
>>> kole
>>> lze provést jednu z akcí:
>>>   * otoč se o 90° doleva
>>>   * otoč se o 90° doprava
>>>   * udělej krok
>>>
>>> Cílem je, za co nejmenší počet kol dosáhnout cíle. Server upozorní pokud
>>> by klient šel do zdi nebo pokud chtějí dva hráči vejít na stejné políčko.
>>> Počítám, ale časem s rozšířením pravidel o časované bomby, střílení,
>>> dobíjení
>>> a vybíjení baterií, práce v týmu. Uvidíme jak nám to půjde.
>>>
>>> Díky
>>>       Marek


Další informace o konferenci Python