Risposta del server e tipi di dati
Componenti di risposta. Codici di stato. Tipi di dati di base
La risposta che arriva dal server funziona quasi secondo lo stesso schema della richiesta. Per ovvie ragioni, non ha parametri di richiesta, ma le intestazioni e il corpo sono inclusi nella risposta (anche se possono essere vuoti).
Una differenza importante è lo stato della risposta.
Codici di stato
Codice di stato. Si trova nella prima riga della risposta del server. Lo stato è un numero di tre cifre (il codice stesso), seguito da una frase che lo spiega.
È grazie al codice di stato che è possibile conoscere i risultati della richiesta e capire quali azioni devono essere intraprese successivamente.
Tutti i possibili codici di stato sono suddivisi in 5 classi. La prima cifra del codice determina l'appartenenza a una particolare classe. Vediamo di suddividerli.
1xx - codici informativi. Segnalano lo stato di avanzamento della richiesta. Nella pratica reale, sono usati raramente.
2xx - codici di successo. Segnalano che tutto è in ordine e che la richiesta è stata completata con successo. In risposta a una richiesta GET, di solito ci si aspetta di ricevere un codice 200 (OK). Una richiesta PUT andata a buon fine invia un codice 201 (Created).
3xx - reindirizzamenti. Indicano che la richiesta deve essere inviata a un altro indirizzo. Un esempio è il codice 301 (Moved Permanently), che indica che i dati richiesti si trovano ora a un nuovo indirizzo (il nuovo indirizzo stesso viene passato nell'intestazione Location).
4xx - codici di errore del client. Il più famoso di essi - 404 (Not Found) - segnala che non ci sono dati necessari all'indirizzo specificato. Altri casi comuni: 400 (Bad Request, errore di sintassi nella richiesta), 401 (Unauthorized, è richiesta l'autenticazione per l'accesso), 403 (Forbidden, accesso negato).
5xx - codici di errore del server. Segnalano un errore sul lato server. Ad esempio: 500 (Internal Server Error, qualsiasi errore incomprensibile che non può essere attribuito a un codice noto), 503 (Service Unavailable, il server non è temporaneamente in grado di elaborare la richiesta per motivi tecnici).
Tipi di dati
A questo punto, possiamo ritenere di aver trattato le informazioni di base per comprendere l'API REST e la struttura delle richieste e delle risposte HTTP. Resta da chiarire solo un punto: i tipi di dati. Se si è già provato a creare una richiesta API in AppMaster, probabilmente si è notato che tutti i dati (nei parametri, nelle intestazioni, nel corpo) chiedono di specificare non solo il nome, ma anche il tipo di dati.
Di solito è abbastanza ovvio per un essere umano come lavorare con i dati, dato che c'è un certo contesto. Supponiamo di sapere che 2 + 2 = 4. Immaginiamo che si tratti di numeri e che il risultato dell'addizione sarà un altro numero.
Ma potrebbero non essere numeri, bensì dati testuali. Allora il risultato della loro addizione potrebbe essere la concatenazione di stringhe e 2 + 2 diventerebbe "22". In questo caso, affinché il computer non debba pensare a nulla, c'è un'indicazione precisa del tipo di dati. Allo stesso tempo, vengono risolti altri compiti. Ad esempio, viene fornita una protezione contro l'inserimento di dati errati; inizialmente, non c'è la possibilità di registrare un indirizzo e-mail nel campo destinato all'inserimento dei numeri di telefono.
Esistono molti tipi di dati diversi; ora considereremo i più elementari e nei prossimi moduli del corso faremo conoscenza con gli altri.
String - Tipo di dati String, testo semplice senza formattazione speciale.
Integer - Tipo di dato Integer. Può essere utilizzato per i contatori o per i calcoli in cui non sono necessari i numeri frazionari.
Float - Numero in virgola mobile. Si usa quando è necessaria una maggiore precisione e i valori interi non sono sufficienti.
A questo punto può sorgere una domanda logica. Perché non usare sempre i numeri fluttuanti, perché allora abbiamo bisogno dei numeri interi? Ma una maggiore precisione richiede più risorse. Per alcuni piccoli calcoli questo può essere del tutto invisibile, ma nel caso di grandi quantità di dati, l'uso di un tipo di dati ragionevole può ridurre significativamente i requisiti di potenza di calcolo e di spazio su disco.
Booleano - Tipo di dati booleani. È il tipo di dati più semplice. Assume uno dei due valori, che vengono scritti come Vero o Falso. Spesso la designazione si presenta sotto forma di 1 (vero) e 0 (falso).