ACID ACID
ACID sta per atomicità, consistenza, isolamento e durabilità. Queste quattro idee aiutano a spiegare la sicurezza delle transazioni, ma le promesse esatte dipendono dal database e dal livello di isolamento.
↗Impara come le parti dietro uno schermo memorizzano dati, seguono regole e mantengono le persone al sicuro.
Apri un termine per un significato semplice, un esempio, quando usarlo, quanto è ufficiale e il suo nome codice.
ACID sta per atomicità, consistenza, isolamento e durabilità. Queste quattro idee aiutano a spiegare la sicurezza delle transazioni, ma le promesse esatte dipendono dal database e dal livello di isolamento.
↗Un'API è un insieme di regole per far comunicare due software. Un endpoint è un indirizzo e un'operazione in quell'API.
↗Un'API REST è un'interfaccia HTTP costruita attorno a risorse, come ordini o utenti. Ogni richiesta è autonoma, utilizza i significati standard di HTTP, può supportare la memorizzazione nella cache e può passare attraverso più livelli.
↗Nell'architettura guidata dagli eventi, un componente pubblica un fatto dopo che qualcosa cambia. Altri componenti reagiscono successivamente seguendo regole chiare per la consegna e per cambiamenti futuri del formato.
↗Gli attributi dei cookie sicuri controllano come un cookie viaggia e se gli script possono leggerlo. Controllano anche l'uso cross-site, quale host e percorso lo ricevono e quanto dura.
↗L'autenticazione verifica chi è una persona o un servizio. Spesso viene abbreviato in AuthN.
↗L'autorizzazione decide cosa una persona o un servizio identificato può leggere, modificare o avviare. Spesso viene abbreviato in AuthZ.
↗Un backend è la parte sul server dietro un'interfaccia. Applica le regole di business, lavora con i dati e collega altri sistemi.
↗Un bilanciatore di carico distribuisce il traffico tra gli endpoint di servizio pronti a lavorare. Utilizza regole per la salute del server, la capacità, i percorsi e il tempo di attività.
↗Un budget di errore è la quantità consentita di servizio cattivo durante una finestra SLO. Equivale alla parte sotto il 100%.
↗Una cache è una copia veloce e temporanea di dati o di un risultato salvato. Riduce il tempo di attesa e il lavoro ripetuto.
↗Una casella di posta transazionale salva una modifica dei dati e un record di messaggio in un'unica transazione di database locale. Un relay invia il messaggio salvato dopo che la transazione viene confermata.
↗Una chiave esterna è una regola del database. Fa sì che una colonna punti a una chiave valida nella stessa tabella o in un'altra. `null` segue la regola scelta per quella colonna.
↗Una coda di messaggi mantiene lavori o messaggi fino a quando un consumatore può gestirli. Produttori e consumatori possono funzionare in tempi e velocità diversi.
↗Una coda di messaggi non recapitabili conserva i messaggi che una coda sorgente non è riuscita a processare dopo i tentativi consentiti. Le persone possono esaminare il fallimento prima di un nuovo tentativo controllato.
↗Un codice di stato HTTP è un numero a tre cifre in una risposta. Indica il risultato standard della richiesta e a quale gruppo di risultati appartiene.
↗La consistenza eventuale permette alle copie dei dati di essere in disaccordo per un po' dopo una modifica. Se le nuove modifiche si fermano e gli aggiornamenti continuano a funzionare, le copie dovrebbero corrispondere.
↗La concorrenza dei lavoratori è il numero di lavori che i consumatori possono eseguire contemporaneamente. Un limite protegge il server e i servizi che tali lavori chiamano.
↗CORS è una regola di sicurezza HTTP del browser. Un server elenca quali altre origini possono leggere le sue risposte. Può limitare metodi, intestazioni e credenziali.
↗La consegna almeno una volta cerca di impedire che un messaggio venga perso, ma lo stesso messaggio può arrivare più di una volta. Il ricevente deve gestire le ripetizioni in sicurezza.
↗Il controllo di concorrenza ottimistico permette alle persone di lavorare contemporaneamente senza bloccare prima. Prima del salvataggio, verifica la versione e rifiuta una modifica basata su dati obsoleti.
↗Un cookie HTTP è un piccolo elemento nome-valore impostato da un server o da uno script. Il browser lo rinvia solo quando le regole per sito, percorso, durata e sicurezza lo consentono.
↗La crittografia autenticata (AEAD) trasforma i dati leggibili in dati segreti che possono essere ripristinati con una chiave approvata. Rileva anche se i dati crittografati o i dettagli collegati sono stati modificati.
↗Questo pacchetto di apprendimento confronta due idee crittografiche differenti. La crittografia può essere invertita con una chiave per mantenere i dati privati. L'hashing sicuro va in una sola direzione e può verificare l'integrità o convalidare le password. Il pacchetto non corrisponde a un singolo primitivo standard.
↗Cross-Site Request Forgery, o CSRF, inganna un browser autenticato nell'inviare un'azione che la persona non ha scelto. Il sito di destinazione si fida dei cookie o di altre credenziali che il browser aggiunge automaticamente.
↗Cross-Site Scripting, o XSS, si verifica quando i dati controllati dall'attaccante vengono eseguiti come codice del browser su un sito attendibile.
↗CRUD è l'abbreviazione di crea, leggi, aggiorna ed elimina. Questi sono quattro modi comuni per lavorare con i dati salvati, ma CRUD non è un protocollo API.
↗Un database conserva dati organizzati nel tempo. Il suo schema dice quali entità, campi, tipi e relazioni sono consentiti.
↗La degradazione graduale mantiene funzionante il lavoro principale quando una dipendenza opzionale fallisce. Il risultato può essere più piccolo, più vecchio o meno dettagliato.
↗Un Feature Flag è un interruttore controllato mentre il programma è in esecuzione. Cambia una funzione senza dover fare un nuovo deploy del codice.
↗Un Backend Framework fornisce strumenti per il server e regole comuni. Può instradare le richieste, controllare i dati, usare la memoria e inviare risposte.
↗L'hashing crittografico trasforma qualsiasi quantità di dati in un'impronta digitale di lunghezza fissa in una sola direzione. Un hash sicuro rende poco pratico recuperare l'input o trovare due input con la stessa impronta digitale.
↗Idempotenza significa che eseguire di nuovo la stessa operazione prevista ha lo stesso effetto sul server come farla una sola volta. Le risposte non devono essere identiche.
↗L'impaginazione a cursore continua dopo un marcatore nascosto in un ordine fisso. Non conta né salta ogni record precedente.
↗Un indice del database è una struttura dati aggiuntiva che accelera ricerche, ordinamenti o regole scelti. Utilizza spazio di archiviazione e aggiunge lavoro quando i dati cambiano.
↗L'informatica serverless è l'esecuzione di codice ospitato. Il fornitore avvia e scala i server, mentre il team distribuisce funzioni o servizi.
↗Un interruttore automatico interrompe le chiamate a un servizio remoto che probabilmente fallirà. Successivamente, alcune chiamate di test verificano se si è ripreso.
↗JSON è un formato di testo per la condivisione dei dati. Può contenere oggetti, array, testo, numeri, `true` o `false` e `null`.
↗Un JSON Web Token, o JWT, è un formato compatto per inviare dichiarazioni tra parti con protezione JWS o JWE. JWT è solo un formato, non un sistema di autorizzazioni.
↗Un lavoro in background è un'attività che il server esegue separatamente dalla pagina o dalla risposta API che può avviarlo. La risposta può completarsi prima che il lavoro sia finito.
↗Un lavoro programmato avvia il lavoro di backend a un orario scelto o a intervalli ripetuti. Le sue regole devono indicare cosa succede dopo un avvio in ritardo, mancato o sovrapposto.
↗La limitazione della velocità controlla le richieste consentite o le azioni costose per un'identità, chiave o finestra temporale.
↗L'archiviazione nel browser conserva i dati sul dispositivo di una persona tramite le API del browser. Ogni opzione ha dimensioni, durata, forma e limiti di sicurezza diversi.
↗Un metodo HTTP è una parola in una richiesta che indica quale tipo di azione è intesa. Ogni metodo ha regole standard per sicurezza, ripetizioni e caching.
↗Una migrazione del database è una modifica con versione. Sposta i dati salvati e il loro schema da uno stato noto a un altro.
↗La negoziazione dei contenuti è il modo in cui HTTP sceglie una versione di una risorsa dalle preferenze del client e dai formati disponibili del server.
↗Un Domain Name è un nome di internet facile da leggere, come example.com. Il DNS lo collega a siti web, email e servizi.
↗La normalizzazione del database divide i fatti correlati in tabelle ben formate. Questo riduce i dati ripetuti e gli errori quando un fatto cambia.
↗OAuth 2.0 è un framework di autorizzazione. Permette a un'app di ottenere permessi limitati per usare dati protetti per una persona o per l'app stessa.
↗Un obiettivo di livello di servizio è un obiettivo di affidabilità per un segnale rivolto all'utente durante una finestra temporale specificata. Non è una promessa legale.
↗OpenID Connect è uno strato di identità costruito su OAuth 2.0. Permette a un'app di confermare che una persona ha effettuato l'accesso e di ricevere informazioni standard su quell'accesso.
↗La paginazione con offset salta un numero scelto di record ordinati e restituisce la pagina successiva fino a una dimensione impostata.
↗Una saga collega diversi passaggi salvati in un unico lavoro aziendale. Se un passaggio successivo fallisce, viene ripetuto o viene aggiunto un altro passaggio per correggere quanto accaduto in precedenza.
↗La Same-Origin Policy è una regola di sicurezza del browser. Limita come una pagina o uno script proveniente da un'origine può leggere o lavorare con dati provenienti da un'altra origine.
↗Una politica di ritentativo decide quali lavori falliti possono riprovare. Il backoff aggiunge un tempo di attesa più lungo dopo ogni fallimento.
↗La Politica di Sicurezza dei Contenuti, o CSP, è una regola HTTP per i contenuti del browser. Limita quali file possono essere caricati e quali script possono essere eseguiti.
↗Una Network Port è un numero che invia il traffico a un solo servizio su un computer. TCP e UDP usano le porte.
↗Un Redirect invia un client da un indirizzo a un altro. Il suo stato dice se il trasferimento è temporaneo o permanente.
↗Una Content Delivery Network, o CDN, è un gruppo di sistemi in molti luoghi. Serve contenuti memorizzati nella cache o risposte generate ai margini da una posizione vicina all'utente. Regole chiare controllano la freschezza e la rimozione.
↗Una richiesta HTTP è ciò che un client invia a un server. Ha un metodo, un indirizzo, delle intestazioni e, a volte, un corpo. La risposta restituisce uno stato, delle intestazioni e dei dati.
↗Lo sbilanciamento del carico rifiuta alcuni lavori quando il sistema si avvicina alla capacità. Questo protegge il lavoro utile da ritardi estremi o da un crash completo.
↗Una scadenza di richiesta è il momento dopo il quale un client smette di aspettare. Ogni chiamata downstream dovrebbe ricevere solo il tempo rimanente.
↗Il modello a compartimenti stagni divide le risorse condivise in pool separati. Problemi in un pool non possono consumare tutti gli slot necessari dagli altri.
↗Il Server-Side Request Forgery, o SSRF, avviene quando un input controllato dall'attaccante spinge un server a inviare una richiesta. La richiesta raggiunge un luogo dove non dovrebbe arrivare.
↗Una sessione web mantiene le azioni correlate collegate attraverso richieste web separate per un tempo limitato. Spesso collega un ID difficile da indovinare allo stato memorizzato sul server.
↗Questo pacchetto di apprendimento separa tre strumenti correlati. Una sessione mantiene la continuità che il server conosce. Un cookie è uno stato gestito dal browser inviato secondo regole stabilite. Un token porta dichiarazioni o autorizzazioni. Il pacchetto non è un termine di identità standard unico.
↗La Sicurezza del livello di trasporto, o TLS, protegge i dati su una rete non affidabile. Nasconde i dati, rileva le modifiche e verifica chi si trova dall'altra parte.
↗Il DNS è il sistema di denominazione di Internet. Record come A, AAAA, CNAME, MX e TXT rispondono a domande sui nomi.
↗Le sonde di salute sono piccoli controlli che indicano a una piattaforma se un servizio sta iniziando, è pronto per il traffico o è ancora attivo.
↗La Specifica OpenAPI è un modo indipendente dal linguaggio per descrivere un'API HTTP. Elenca azioni, input, forme dei dati, metodi di sicurezza, risposte e schemi riutilizzabili.
↗Un token di accesso è una credenziale che un'app invia a un servizio protetto per mostrare cosa può fare. Le regole solitamente limitano chi lo ha emesso, quale servizio lo accetta, le sue autorizzazioni e la sua durata.
↗Una transazione di database è un gruppo di passaggi del database che finiscono insieme o vengono tutti annullati insieme. Le sue regole di isolamento indicano come interagisce con il lavoro che avviene nello stesso momento.
↗Un URL è un indirizzo di rete. Il suo scheme, host, path, query e fragment indicano ai client cosa aprire.
↗La validazione dell'input verifica i dati mentre attraversano un confine di fiducia. Applica il tipo, la forma, l'intervallo, la dimensione e il significato previsti.
↗Una variabile d'ambiente è un'impostazione con nome esterna al codice dell'applicazione. Permette a ogni ambiente di usare valori diversi.
↗Il versioning dell'API è un piano per nominare, modificare, supportare e ritirare i contratti API senza rompere i client. Non esiste un URL o uno stile di header che ogni API debba usare.
↗Una passkey WebAuthn è una credenziale di accesso con chiave pubblica che resiste ai siti di login falsi. A seconda del provider e dell'autenticatore, può sincronizzarsi tra dispositivi o rimanere su un solo dispositivo.
↗Un webhook è una chiamata HTTP inviata quando si verifica un evento. Dice a un altro sistema di reagire.
↗Un WebSocket mantiene una connessione bidirezionale tra un'app web e un server. Qualsiasi lato può inviare messaggi mentre è aperta.
↗