REST API progettazione domande
Un elenco di domande e concetti chiave sulla progettazione di REST API, utile per studenti universitari che vogliono comprendere meglio i principi e le pratiche di sviluppo delle API.
Quiz(64 domande)
1. Che cos'è un'API REST?
Termini in questo set(64)
Concetti Fondamentali delle REST API(16)
Che cos'è un'API REST?
Un'API REST è un'interfaccia che permette la comunicazione tra client e server utilizzando il protocollo HTTP per l'interscambio di dati.
Principi delle REST API.
- Statelessness - Risorse identificate da URL - Utilizzo di metodi HTTP - Rappresentazione delle risorse
Vero o falso: Le REST API sono sempre stateless.
Vero, le REST API devono essere stateless, il che significa che ogni richiesta contiene tutte le informazioni necessarie per processarla.
Risorse nelle REST API.
Le risorse sono entità che possono essere rappresentate e manipolate. Ogni risorsa ha un identificatore unico, solitamente un URL.
Qual è il metodo HTTP per creare una risorsa?
Il metodo HTTP per creare una risorsa è POST. Viene utilizzato per inviare dati al server e creare una nuova risorsa.
Cos'è un endpoint?
Un endpoint è un'URL specifica in un'API REST che rappresenta una risorsa o un gruppo di risorse su cui è possibile eseguire operazioni.
Quali sono i metodi HTTP principali?
I metodi principali sono: GET, POST, PUT, DELETE. Ognuno è utilizzato per operazioni specifiche su risorse.
Cause → Effetto: perché utilizzare JSON in REST API?
JSON è leggero e facile da leggere. Facilita l'interscambio di dati tra client e server in una forma comprensibile.
Come si rappresentano le risorse nelle REST API?
Le risorse possono essere rappresentate in diversi formati, come JSON, XML o HTML. JSON è il più comune.
Che cosa significa HATEOAS?
HATEOAS sta per Hypermedia as the Engine of Application State. Permette la navigazione dinamica delle risorse attraverso link forniti dal server.
Qual è il ruolo dei codici di stato HTTP?
I codici di stato HTTP indicano il risultato di una richiesta. Ad esempio, 200 per successo, 404 per non trovato.
Vero o falso: Le REST API possono essere sia pubbliche che private.
Vero, le REST API possono essere progettate per accesso pubblico o limitato, a seconda delle necessità.
Qual è l'importanza del versioning nelle API?
Il versioning consente modifiche senza rompere la compatibilità con i client esistenti. È utile quando si introducono nuove funzionalità.
Esempio di richiesta GET.
GET /api/v1/utenti Richiede la lista degli utenti dal server.
Qual è la differenza tra PUT e PATCH?
PUT aggiorna completamente una risorsa, mentre PATCH modifica solo i campi specificati della risorsa.
Che cos'è un'API idempotente?
Un'API è idempotente se più operazioni identiche producono lo stesso risultato. Ad esempio, una richiesta DELETE è idempotente.
Metodi HTTP e Statistiche(16)
Qual è il metodo HTTP per ottenere risorse?
Il metodo HTTP per ottenere risorse è il GET. Viene utilizzato per recuperare dati senza modificare lo stato del server.
POST → ?
POST è usato per inviare dati al server. Implica una modifica dello stato o della risorsa.
VERBO PUT: scopo?
PUT è usato per aggiornare o sostituire una risorsa esistente. Se non esiste, può crearla.
DELETE: vero o falso?
Vero. DELETE elimina una risorsa dal server. È un'operazione distruttiva.
Qual è la differenza tra PUT e PATCH?
PUT sostituisce l'intera risorsa, mentre PATCH applica modifiche parziali. Utilizza meno dati.
Che cos'è un codice di stato 200?
Il codice di stato 200 indica che la richiesta è stata elaborata con successo e i dati sono restituiti.
Quando usare 404?
Il codice 404 viene usato quando la risorsa richiesta non è stata trovata sul server.
Qual è il significato di 500?
Il codice 500 indica un errore interno del server. Si verifica quando il server non riesce a completare la richiesta.
GET vs POST: confronto.
- GET: recupera dati. - POST: invia dati al server. - GET è idempotente, POST no.
Qual è il codice di stato per una richiesta non autorizzata?
Il codice di stato 401 indica che la richiesta richiede autenticazione. L'utente deve autenticarsi.
Quando si usa il metodo HEAD?
HEAD è simile a GET, ma restituisce solo le intestazioni della risposta, senza il corpo. Utile per controllare le risorse.
Quale metodo per il caricamento di file?
Il metodo appropriato è POST. Viene spesso utilizzato insieme a multipart/form-data per il caricamento.
Esempio di utilizzo PUT:
PUT /risorse/123 con dati JSON per aggiornare la risorsa con ID 123.
Qual è la funzione di OPTIONS?
OPTIONS permette di scoprire i metodi HTTP supportati da una risorsa. Ritorna le intestazioni Access-Control-Allow-Methods.
Qual è l'effetto di un codice 403?
Il codice 403 indica che l'accesso alla risorsa è vietato, anche se l'autenticazione è riuscita.
Che cosa rappresenta il codice 201?
Il codice 201 indica che una nuova risorsa è stata creata con successo sul server. Spesso usato dopo POST.
Autenticazione e Sicurezza(16)
Cos'è l'autenticazione basata su token?
Un metodo che utilizza un token per identificare l'utente, evitando l'invio di credenziali in ogni richiesta.
Vero o falso: HTTPS è obbligatorio per le API.
Vero. HTTPS fornisce una comunicazione sicura e crittografata, fondamentale per proteggere i dati.
Differenza tra OAuth e Basic Auth?
OAuth consente accesso delegato; Basic Auth invia username e password con ogni richiesta.
Come si implementa la crittografia dei dati?
Utilizzando algoritmi come AES o RSA per cifrare i dati prima della trasmissione.
Qual è il ruolo del CORS?
CORS controlla quali domini possono accedere alle risorse dell'API, prevenendo accessi non autorizzati.
Fill in the blank: JWT sta per _____
JSON Web Token, un formato per la trasmissione di informazioni tra parti in modo sicuro.
Quali sono i rischi dell'API senza autenticazione?
Accesso non autorizzato, furto di dati, modifiche indesiderate alle risorse.
Cos'è il rate limiting?
Una pratica per limitare il numero di richieste che un utente può effettuare in un dato periodo.
Quali metodi di autenticazione sono più sicuri?
- OAuth 2.0 - OpenID Connect - API Key con scadenza.
Vero o falso: Le API possono avere una scadenza per i token.
Vero. I token possono scadere per migliorare la sicurezza e ridurre il rischio di accesso non autorizzato.
Cause per cui usare HTTPS:
- Crittografia dei dati - Integrità dei dati - Autenticazione del server.
Cos'è un attacco XSS?
Cross-Site Scripting: un attacco che inietta script malevoli in pagine web per rubare informazioni.
Esempio di header per autenticazione:
Authorization: Bearer <token>
Quali sono i vantaggi di OAuth 2.0?
- Accesso delegato - Maggiore sicurezza - Facilità di integrazione.
Vero o falso: I segreti dell'API dovrebbero essere esposti nel codice sorgente.
Falso. I segreti devono essere mantenuti riservati e non inclusi nel codice sorgente pubblico.
Procedura di revoca dei token:
Disabilitare il token sul server per prevenire accessi futuri non autorizzati.
Best Practices e Error Handling(16)
Qual è la pratica migliore per gli endpoint?
Utilizzare nomi chiari e significativi per rappresentare le risorse, ad esempio /utenti invece di /getUser.
404 Not Found significa?
Il server non riesce a trovare il risorsa richiesta. Controlla l'URL.
Cosa deve restituire un'API quando si verifica un errore?
Un messaggio di errore chiaro e un codice di stato HTTP appropriato per aiutare la risoluzione.
Vero o Falso: È meglio restituire sempre 200 OK.
Falso: Restituire i codici di stato corretti aiuta a comprendere il risultato della richiesta.
Quali informazioni includere nel messaggio di errore?
- Codice di errore - Messaggio descrittivo - Eventuale ID del tracciamento
Esempio di pratica consigliata per la paginazione?
Utilizzare parametri come ?pagina=2&limite=10 per controllare quale pagina e quanti risultati restituire.
Cosa rappresenta il codice 500?
Errore interno del server. Indica che qualcosa è andato storto sul server.
Qual è l'importanza della documentazione delle API?
Aiuta gli sviluppatori a comprendere come utilizzare l'API correttamente e conoscere i possibili errori.
Come gestire le limitazioni di richiesta?
Implementare un sistema di rate limiting per prevenire l'abuso dell'API e garantire prestazioni.
Qual è il formato migliore per fornire errori?
JSON è preferibile, poiché è facilmente leggibile e manipolabile dai client.
Cosa fare se un'API è temporaneamente non disponibile?
Restituire un codice 503 Service Unavailable e un messaggio che indica di riprovare più tardi.
Qual è la differenza tra 4xx e 5xx?
4xx indica errori del client, mentre 5xx indica errori del server.
Come migliorare l'affidabilità delle API?
Utilizzare meccanismi di retry per gestire errori temporanei e garantire che le richieste siano completate.
Cosa significa 'validazione dei dati'?
Controllare che i dati in ingresso soddisfino i requisiti prima di processarli per evitare errori.
Qual è il vantaggio del logging degli errori?
Consente di monitorare e diagnosticare problemi, migliorando la manutenzione e l'affidabilità dell'API.
Qual è la chiave per una buona gestione degli errori?
Fornire messaggi chiari e utili che guidino gli sviluppatori a risolvere i problemi.
Domande in questo set(64)
1. Che cos'è un'API REST?
2. Cos'è l'autenticazione a due fattori?
3. Qual è la pratica migliore per la gestione degli errori in un'API?
4. Qual è il metodo HTTP per inviare dati al server?
5. Quale dei seguenti è un principio fondamentale delle REST API?
6. Qual è uno svantaggio dell'uso di Basic Auth?
7. Cosa indica il codice di stato 403 Forbidden?
8. Qual è il codice di stato per una risorsa che non può essere trovata?
9. Qual è il metodo HTTP utilizzato per aggiornare una risorsa esistente?
10. Quale dei seguenti protocolli è considerato più sicuro per autenticare gli utenti?
11. Quando è opportuno restituire un codice 429 Too Many Requests?
12. Quale metodo viene utilizzato per eliminare una risorsa?
13. Cosa rappresenta un endpoint in un'API REST?
14. Cos'è un attacco CSRF?
15. Cosa dovrebbe contenere un messaggio di errore JSON?
16. Quando si usa il metodo PATCH?
17. Quale tra questi formati è comunemente usato per rappresentare risorse in un'API REST?
18. Qual è il ruolo di HTTPS?
19. Cosa significa la validazione dei dati in un'API?
20. Cosa indica un codice di stato 201?
21. Quale dei seguenti metodi HTTP non è generalmente usato per recuperare dati?
22. Cosa rappresenta un token JWT?
23. Cosa rappresenta il codice di stato 401 Unauthorized?
24. Quale dei seguenti metodi è idempotente?
25. Qual è il ruolo dei codici di stato HTTP?
26. Qual è la funzione del CORS nelle API?
27. Qual è una pratica consigliata per la paginazione nei risultati delle API?
28. Qual è la funzione del metodo OPTIONS?
29. Quale affermazione è vera riguardo al versioning delle API?
30. Qual è un esempio di attacco XSS?
31. Quale codice di stato restituisce un errore di server quando c'è un problema imprevisto?
32. Cosa rappresenta un codice di stato 403?
33. Quale dei seguenti metodi è associato alla creazione di una nuova risorsa?
34. Cosa significa 'rate limiting'?
35. Quando utilizzare un codice 503 Service Unavailable?
36. Quale metodo HTTP è usato per aggiornare una risorsa?
37. Vero o falso: Le richieste DELETE sono idempotenti.
38. Qual è una buona pratica per gestire i segreti dell'API?
39. Qual è la differenza tra i codici 4xx e 5xx?
40. Qual è la differenza principale tra PUT e POST?
41. Che cosa significa HATEOAS nelle REST API?
42. Qual è uno degli scopi principali della crittografia dei dati?
43. Qual è l'importanza di implementare il rate limiting in un'API?
44. Quale metodo viene utilizzato per controllare lo stato di una risorsa senza recuperare il corpo della risposta?
45. Quale dei seguenti non è un metodo HTTP standard?
46. Qual è un beneficio dell'uso di token temporizzati?
47. Qual è il vantaggio della registrazione degli errori?
48. Cosa indica un codice di stato 500?
49. Che cos'è una richiesta idempotente?
50. Cosa si intende per 'revoca dei token'?
51. Quale formato è consigliato per restituire errori nelle API?
52. Quale dei seguenti metodi non modifica lo stato del server?
53. Qual è un esempio di una richiesta GET?
54. Quale dei seguenti metodi di autenticazione è più complesso da implementare?
55. Cosa significa 'retry' nella gestione degli errori?
56. Quale codice di stato indica una richiesta non autorizzata?
57. Qual è la differenza principale tra PUT e PATCH?
58. Vero o falso: È sicuro trasmettere dati sensibili in chiaro su HTTP.
59. Qual è un buon modo per garantire messaggi di errore utili?
60. Quale metodo è più adatto per il caricamento di file?
61. Quale dei seguenti aspetti caratterizza le API REST?
62. Quale tra le seguenti affermazioni descrive correttamente l'OAuth 2.0?
63. Quale delle seguenti opzioni NON è una buona pratica per il design degli endpoint nelle API?
64. Quale codice di stato indica che la richiesta è stata elaborata con successo e i dati sono stati restituiti?
Set correlati
Wiederholung: Browser lädt eine Seite
Test: Was eine URL ist
JavaScript DOM and events notes
REST APIs and HTTP methods exam review
What a URL is
How a browser loads a page
HTML vs CSS vs JavaScript step by step
Wiederholung: HTML CSS JavaScript Rollen
Crea il tuo set di studio
Carica un PDF, incolla le tue note o descrivi un argomento – l'IA genera schede, quiz e altro in pochi secondi.

