API con limiti rispetto alla scansione del sito

1

Ho iniziato a lavorare su un sito Web, per tenere traccia e valutare gli anime / manga / ecc. e consigli, e dovrebbe anche avere un'API, per fornire informazioni su serie e altre cose.

Su siti simili, ho notato che, per usare un'API, in genere si ha bisogno di un token / auth di ordinamenti e ci sono determinati limiti di utilizzo, anche se è per la lettura di informazioni pubblicamente disponibili sul sito.

Ma il problema è che puoi eludere tutti questi limiti eseguendo la scansione del sito direttamente. Anche se il formato è meno conveniente, una volta che hai un parser sul posto non c'è problema. In realtà, se utilizza il rendering clientide, le informazioni saranno già inviate in un formato conveniente. D'altra parte, ciò metterebbe anche a dura prova il server, perché le informazioni potrebbero essere distribuite su più pagine, richiedendo più richieste e invierebbero anche informazioni non richieste dall'app client.

Alla fine, c'è un punto nel limitare l'API usata per le informazioni che sono disponibili pubblicamente sul sito? Dovrebbe esserci un'API non soggetta a restrizioni, non autenticata, per la lettura di informazioni pubbliche, al fine di evitare inutili svarioni per entrambe le parti? O dovrebbe, invece, il sito stesso avere limiti di richieste, come un'API?

    
posta Alex Raylight 27.07.2015 - 11:28
fonte

2 risposte

3

Avere un'API pubblica per l'accesso ai dati dal tuo sito è rendere i dati disponibili in un modo conveniente, supportato, ben definito e sempre aggiornato. È un modo per il proprietario di un sito di dire "ecco i dati che raccolgo e possiedo, ma voglio che tu sia in grado di usarlo, così lo sto rendendo disponibile. Oh, e prometto di non cambiare la struttura o fare nulla che possa violare le tue applicazioni senza comunicarle chiaramente '.

La scansione ha alcune limitazioni tecniche, alcune considerazioni legali molto importanti ed è soggetta a rotture senza alcun tipo di notifica da parte del proprietario dei dati. Personalmente non esiterei a consumare una pubblica API JSON se questo ha i dati che mi servono, ma sarei costretto a scrivere un crawler / parser per farlo uscire da un sito web ...

    
risposta data 27.07.2015 - 12:47
fonte
0

Le API autorizzate dai token sono utilizzate per molte ragioni.

  • Controllo dell'accesso a informazioni riservate. Poiché un token di solito mappa in qualche modo verso un'identità autorizzata, il sito può limitare l'accesso programmatico ai dati esattamente come farebbe per accedere interattivamente tramite l'interfaccia utente web. I token impediscono inoltre che le password vengano divulgate nelle richieste e di solito sono revocabili sia dall'utente che dal sito.
  • Singoli consumatori che limitano la velocità. Poiché i programmi possono facilmente presentare un carico molte volte più alto e più veloce delle persone, essere in grado di prevenire il sovraccarico da parte di un consumatore eccessivamente aggressivo può fare la differenza tra un sito in aumento o in diminuzione.
  • Controllare i consumatori errati. Alcuni siti rilasciano token al programma che accede al sito, in aggiunta o al posto di utente . Ciò consente al sito di prendere decisioni come bloccare i programmi che abusano dell'API, che generano troppe richieste non valide, ecc.
  • Miglioramento delle statistiche di utilizzo. L'utilizzo interattivo viene solitamente discusso sia in termini di visualizzazioni di pagina che di sessioni . Le richieste API sono l'equivalente delle visualizzazioni di pagina, ma non c'è nulla come una sessione API (a meno che il sito non permetta sessioni HTTP inattive persistenti, ma non è comune). I token consentono al sito di raggruppare le richieste per lo stesso utente e, con alcuni time-box, che può essere un proxy ragionevole per una sessione.
risposta data 27.07.2015 - 14:23
fonte

Leggi altre domande sui tag