/ / Používanie HTTP pre REST API: automaticky cachovateľné? - api, rest, http, caching

Používanie HTTP pre REST API: automaticky ukladateľné do medzipamäte? - api, rest, http, caching

Zaujímalo by ma, na vytvorenie „RESTful API“ musíte splniť 6 architektonických obmedzení uvedených nižšie:

http://en.wikipedia.org/wiki/Representational_state_transfer#Architectural_constraints

Je bezpečné tvrdiť, že keď vytvárateREST API cez protokol HTTP, je „cacheable“ obmedzenie automaticky splnené? Pretože HTTP už poskytuje systém vyrovnávacej pamäte „out-of-the-box“ prostredníctvom hlavičiek HTTP: http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

Takže sa toho už netreba báť?

Možno to znie ako hlúpa otázka, ale chcem si byť istý. :-)

S priateľským pozdravom!

K.

odpovede:

2 pre odpoveď č. 1

Dovoľte mi trochu sa rozšíriť o výzvy tvoreniasprávna logika ukladania do pamäte cache: Backend API je zvyčajne databáza, ktorá obsahuje všetky druhy malých informácií. Typickou prezentáciou v rámci REST API môže byť zhromaždené zobrazenie (povedzme napríklad denník aktivít používateľov, ktorý obsahuje zoznam posledných akcií používateľa v rámci portálu, niečo v tomto zmysle). Teraz, aby ste zistili, či sa vaša adresa URL / používateľ / 123 / aktivita rozhrania API zmenila (po časovej značke, ktorú vám klient posiela v hlavičke „If-modified-since“), budete musieť skontrolovať, či tam nejaké boli ďalšie činnosti po poslednej žiadosti. Režijné náklady môžu byť rovnaké ako opätovné načítanie výsledku. Takže v mnohých prípadoch sa ľudia jednoducho neobťažujú, čo je škoda, pretože správne ukladanie do vyrovnávacej pamäte môže mať obrovský vplyv na výkon webových aplikácií.

Možno to dáva trochu viac podrobností, Jan


2 pre odpoveď č. 2

máš pravdu, HTTP ti už dáva prostriedkyna identifikáciu cachovateľných prvkov, ale keďže vaše API bude generované nejakou logikou na strane servera, budete sa musieť ubezpečiť, že kód „za“ vašim API bude obsahovať správne hlavičky HTTP a bude pripravený a schopný reagovať na „If- „upravené od“ v ideálnom svete. Vytvorenie spoľahlivej časovej pečiatky „Posledná zmena“ a spoľahlivá kontrola oproti nej je vlastne tichý výkon ;-)

Dúfam, že to trochu pomôže, Jan