English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Appunti dopo aver visto 'JSON: Essenziale e Necessario'

Vi consiglio di acquistare libri cartacei, ovviamente se le condizioni lo permettono è possibile scaricare temporaneamente la versione digitale: https://it.oldtoolbag.com/books/504703.html

Terminologia
Portabilità
Compatibilità nella trasmissione di informazioni tra piattaforme e sistemi.
 
JSON
JavaScript Object Notation - metodo di rappresentazione degli oggetti.
 
Formato di scambio di dati
Testo utilizzato per scambiare dati tra piattaforme o sistemi diversi.
 
Letterale
Un valore che ha lo stesso significato letterale e il significato che si desidera esprimere.
 
Variabile
Rappresenta una classe di valori modificabili identificati da un identificatore come X.
 
Massima portabilità
Fornisce portabilità oltre al formato di dati stesso, garantendo la compatibilità dei dati con le piattaforme e i sistemi.
 
Nome-valore
Indica un attributo e una caratteristica che possiede un nome e un valore corrispondente (noto anche come coppia nome-valore).
 
Verifica grammaticale
Verifica del formato JSON.
 
Verifica della coerenza
Si concentra sulla verifica di strutture di dati uniche.
 
Il tipo di stringa in JSON
Un valore di stringa come “Sei una buona persona” deve essere racchiuso tra virgolette doppi.
 
Concetto

JSON è un formato di scambio di dati.
 
JSON è indipendente dai linguaggi di programmazione.
 
JSON si basa sulla rappresentazione letterale degli oggetti JavaScript (con un focus sulla rappresentazione).
 
Il modo in cui JSON esprime i dati è molto amichevole per i concetti di programmazione generici.
 
JSON si basa sulla sintassi degli oggetti letterali JavaScript per rappresentare attributi, ma non include la parte delle funzioni degli oggetti letterali JavaScript.
 
Il nome in JSON è sempre racchiuso tra virgolette doppi.
 
In JSON, il valore può essere una stringa, un numero, un valore booleano, null, un oggetto o un array.
 
La lista di nomi-valori in JSON è sempre racchiusa tra graffe.
 
In JSON, i nomi-valori multipli sono separati da virgola.
 
Il file JSON utilizza l'estensione .json.
 
Il tipo di media di JSON è application/json.
 
I valori del tipo booleano in JSON sono solo true e false, tutti i caratteri devono essere minuscoli.
 
Tutti i caratteri del valore null in JSON devono essere minuscoli per rappresentare un valore vuoto.
 
Il tipo di numero in JSON, un valore numerico come 66, può essere un intero positivo, negativo, un numero decimale o un esponenziale.
 
Una distinzione chiave tra oggetto e array in JSON è che l'oggetto è una lista o raccolta di nomi-valori, mentre l'array è una lista o raccolta di valori.
 
Un'altra distinzione chiave tra oggetto e array è che tutti i valori nell'array dovrebbero avere lo stesso tipo di dati.
 
Terminologia
L'array in JSON
Un array è una raccolta o elenco di valori, ciascuno dei quali può essere una stringa, un numero, un valore booleano, un oggetto o un array. Gli array devono essere racchiusi tra [] e i valori devono essere separati da virgola.
 
Il tipo di oggetto in JSON
Il tipo di oggetto è una raccolta di nomi-valori separati da virgola e racchiusi tra graffe {}.
 
JSON Schema
Un contratto virtuale nel trasferimento di dati.
 
Server-side (sviluppo web)

Quando una risorsa web viene richiesta, si esegue una serie di operazioni sul server. Il server fornisce al browser internet la risposta che elabora e carica.
 
Client (nel contesto dello sviluppo web)
Una serie di operazioni eseguite quando l'interfaccia richiesta dal browser è completamente caricata, di solito si riferisce a HTML, CSS e JavaScript
 
Concetto
Il validatore JSON è responsabile della verifica degli errori di sintassi, mentre JSON Schema è responsabile della verifica della coerenza
 
JSONSchema è la prima linea di difesa per la ricezione dei dati, è anche uno strumento buono per risparmiare tempo per i mittenti dei dati e garantire che i dati siano corretti
 
JSONSchema può risolvere i seguenti problemi di verifica della coerenza
  1. Il tipo di dati del valore è corretto? Puoi specificare un valore come numero, stringa ecc.
  2. Contiene i dati necessari? Puoi specificare quali dati sono necessari e quali non lo sono.
  3. La forma del valore è quella che mi serve? Puoi specificare un intervallo, il valore minimo e massimo.
 
JSON in sé non costituisce una minaccia, è solo testo.
 
Quando si individua il problema di sicurezza JSON, è necessario ricordare tre cose.

  1. Non utilizzare array di livello superiore, gli array di livello superiore sono script JavaScript validi, che possono essere collegati tramite tag <script> e utilizzati.
  2. Per le risorse non desiderate da rendere pubbliche, consentire solo l'uso del metodo HTTPPost per richiedere, non il metodo Get, il metodo Get può essere richiesto tramite URL, persino messo all'interno di un tag script.
  3. Utilizzare JSON.parser() al posto di eval(), la funzione eval() compila ed esegue la stringa passata, il che rende il codice più vulnerabile agli attacchi, quindi utilizzare solo JSON.parser() per analizzare i dati JSON.
 
Le vulnerabilità di sicurezza sono spesso causate dal fatto che i sviluppatori non hanno considerato il problema di come gli hacker possano sfruttare questo punto
 
Il rapporto tra XMLHTTPRequest di JavaScript e WEB API è la relazione tra client e server
 
XMLHTTPRequest non si limita a XML, può essere utilizzato anche per richiedere risorse JSON
 
Terminologia
Cross-Site Request Forgery (CSRF)
Un attacco che sfrutta la fiducia del sito nel browser dell'utente
 
Array JSON di livello superiore
Un array JSON situato al livello superiore del documento, al di fuori del paira nome-valore JSON
 
Attacco di iniezione
Un attacco che dipende dall'iniezione di dati in un'applicazione web per facilitare l'esecuzione o la compilazione di dati maliziosi
 
Attacco di Cross-Site Scripting (XSS) con JSON
Un attacco di注入 che comporta la sostituzione del codice di terze parti utilizzato dal sito con uno script maligno
 
webApi
Una serie di istruzioni e standard per interagire con i servizi tramite HTTP
 
XMLHTTPRequest
Un oggetto JavaScript che può ottenere dati da un URL senza aggiornare la pagina, spesso utilizzato nella programmazione AJAX.
 
HyperText Transfer Protocol (HTTP)
Il protocollo di base per lo scambio di dati utilizzato dal World Wide Web
 
Serializzazione
L'operazione di trasformazione degli oggetti in testo
 
Deserializzazione
L'operazione di trasformare il testo in un oggetto.
 
Concetto
Il sito web serve alle persone, mentre il web API serve al codice, entrambi utilizzano il protocollo HTTP.
 
La strategia di origine crea alcune difficoltà nell'intercambio di comunicazione tra client e server per risorse JavaScript e JSON.
 
Per garantire il successo delle richieste di risorse JSON incrociate client-side, è necessario il supporto del server.
 
jQuery è uno strumento astratto che offre funzionalità di richiesta e解析 JSON e riduce il tempo di sviluppo, risolvendo anche problemi di compatibilità tra browser.
 
Concetto MVC di AngularJS
  JSON è il modello || modello di dati
  HTML è la vista e fornisce la sintassi per binding con il modello.
  Il controller è un file JavaScript definito e operato con la sintassi di AngularJS per definire e gestire l'interazione tra modello e vista.
 
AngularJS permette a JavaScript e JSON di brillare nel framework MVC.
 
Nei database relazionali, ci sono spesso tabelle, colonne, righe e relazioni tra di loro, tra cui l'uso di chiavi primarie e esterne.
 
Ci sono molti tipi di database NoSQL, che hanno metodi di archiviazione e utilizzo dei dati diversi dai modelli relazionali tradizionali.
 
Concetti importanti del database CouchDB
  1. È un database NoSQL orientato ai documenti.
  2. Memorizza e gestisce documenti JSON.
  3. Mantiene la struttura dei dati durante la memorizzazione e l'acquisizione dei dati.
  4. Utilizza API basate su HTTP per ottenere dati come documenti JSON.
  5. Usa JavaScript come linguaggio di query e utilizza i metodi map e reduce della vista per ottenere dati tra API.
 
Sul server, è possibile deserializzare JSON in oggetti e utilizzarli nella logica di programmazione, o serializzare oggetti in formato JSON.
 
JSON è supportato sia dal server che dal client, il che lo rende eccellente nel campo del web, distinguendosi tra molti formati di scambio di dati.
 
Terminologia
Strategia di origine
Per motivi di sicurezza, i browser richiedono solo script dello stesso dominio.
 
Condivisione delle risorse incrociate CORS
Grazie alla configurazione dell'intestazione di risposta, le richieste incrociate possono essere eseguite con successo.
 
JSON-p
Utilizzando il tag script, aggirare i limiti della strategia di origine e richiedere JSON da server di domini diversi.
 
Astrazione
Una tecnica per trattare sistemi complessi, con l'idea principale di trasformare un grande problema in più problemi piccoli.
 
Frammento
Un strumento di astrazione che ci permette di risparmiare tempo, concentrandoci di più sulla costruzione delle funzionalità.
 
Jquery.parserJSON()
Una funzione di jQuery che non solo chiama la funzione JSON.parser(), ma è anche compatibile con i browser obsoleti che non supportano JSON.parser(), valutando la stringa attraverso la verifica dei caratteri per evitare problemi di sicurezza potenziali.
 
jquery.getJSON()
Versione abbreviata della funzione jquery.ajax(), che include la funzione di parsing di JSON in oggetti JavaScript
 
Applicazione web single-page
Diverso dal tradizionale modo a più pagine, si concentra su un'esperienza di applicazione più fluida
 
Modello-Vista-Controllore (MVC)
Un modello di architettura applicativa che suddivide l'applicazione in tre parti: modello (dati), vista (visualizzazione) e controller (aggiornamento del modello e della vista)
 
AngularJS
Un framework MVC per JavaScript che utilizza un modello di dati basato su oggetti JavaScript
 
Database relazionale
Un database che struttura i dati archiviati utilizzando relazioni riconoscibili
 
Database NoSQL
Un database che non archivia i dati attraverso le relazioni tra i dati
 
CouchDB
Un tipo di archiviazione di database NoSQL orientato ai documenti, che utilizza la forma dei documenti JSON per archiviare dati
 
ASP.NET
Framework web server-side sviluppato da Microsoft
 
PHP
Linguaggio di script server-side utilizzato per creare pagine web dinamiche
 
Ruby on Rails
Framework di applicazione web server-side scritto in Ruby
 
Node.js
JavaScript server-side basato sul motore V8 di Google
 
java
Un linguaggio di programmazione orientato agli oggetti
 
JSON verrà utilizzato anche come file di configurazione statico
 
Quando si considera quale formato di dati utilizzare, devono essere considerati sia la forma dei dati che il sistema di scambio dei dati.!!!JSON non è sempre la migliore scelta.

Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, il diritto d'autore è di proprietà del rispettivo proprietario, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non possiede il diritto di proprietà, non è stato elaborato manualmente e non assume alcuna responsabilità legale pertinente. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, il sito web rimuoverà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare