diff --git a/language/context/http.xml b/language/context/http.xml
new file mode 100644
index 00000000..897858a7
--- /dev/null
+++ b/language/context/http.xml
@@ -0,0 +1,342 @@
+
+
+
+
+
+ Opzioni di contesto HTTP
+ Elenco delle opzioni di contesto HTTP
+
+
+
+ &reftitle.description;
+
+ Opzioni di contesto per i trasporti http:// e https://.
+
+
+
+
+ &reftitle.options;
+
+
+
+
+ method
+ string
+
+
+
+ GET, POST, o
+ qualsiasi altro metodo HTTP supportato dal server remoto.
+
+
+ Il valore predefinito è GET.
+
+
+
+
+
+ header
+ array o string
+
+
+
+ Intestazioni aggiuntive da inviare durante la richiesta. I valori
+ in questa opzione sovrascriveranno altri valori (come
+ User-agent:, Host:,
+ e Authentication:),
+ anche quando si seguono i reindirizzamenti Location:.
+ Pertanto non è consigliato impostare un'intestazione Host:,
+ se follow_location è abilitato.
+
+
+ Il valore stringa deve essere costituito da coppie Chiave: valore delimitate da
+ \r\n, ad es.
+ "Content-Type: application/json\r\nConnection: close".
+ Il valore array deve essere un elenco di coppie Chiave: valore, ad es.
+ ["Content-Type: application/json", "Connection: close"].
+
+
+
+
+
+ user_agent
+ string
+
+
+
+ Valore da inviare con l'intestazione User-Agent:. Questo valore verrà
+ utilizzato solo se user-agent non è specificato
+ nell'opzione di contesto header sopra indicata.
+
+
+ Per impostazione predefinita viene utilizzata l'impostazione
+ user_agent
+ del &php.ini;.
+
+
+
+
+
+ content
+ string
+
+
+
+ Dati aggiuntivi da inviare dopo le intestazioni. Generalmente utilizzato
+ con le richieste POST o PUT.
+
+
+
+
+
+ proxy
+ string
+
+
+
+ URI che specifica l'indirizzo del server proxy (ad es.
+ tcp://proxy.example.com:5100).
+
+
+
+
+
+ request_fulluri
+ bool
+
+
+
+ Quando impostato a &true;, l'intero URI verrà utilizzato nella
+ costruzione della richiesta (ad es.
+ GET http://www.example.com/path/to/file.html HTTP/1.0).
+ Sebbene questo sia un formato di richiesta non standard, alcuni
+ server proxy lo richiedono.
+
+
+ Il valore predefinito è &false;.
+
+
+
+
+
+ follow_location
+ int
+
+
+
+ Segue i reindirizzamenti dell'intestazione Location. Impostare a
+ 0 per disabilitare.
+
+
+ Il valore predefinito è 1.
+
+
+
+
+
+ max_redirects
+ int
+
+
+
+ Il numero massimo di reindirizzamenti da seguire. Il valore 1 o
+ inferiore significa che non vengono seguiti reindirizzamenti.
+
+
+ Il valore predefinito è 20.
+
+
+
+
+
+ protocol_version
+ float
+
+
+
+ Versione del protocollo HTTP.
+
+
+ Il valore predefinito è 1.1 a partire da PHP 8.0.0;
+ nelle versioni precedenti il valore predefinito era 1.0.
+
+
+
+
+
+ timeout
+ float
+
+
+
+ Timeout di lettura in secondi, specificato come float
+ (ad es. 10.5).
+
+
+ Per impostazione predefinita viene utilizzata l'impostazione
+ default_socket_timeout
+ del &php.ini;.
+
+
+
+
+
+ ignore_errors
+ bool
+
+
+
+ Recupera il contenuto anche in caso di codici di stato di errore.
+
+
+ Il valore predefinito è &false;.
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Recuperare una pagina e inviare dati POST
+
+ 'some content',
+ 'var2' => 'doh',
+ ]
+);
+
+$opts = [
+ 'http' => [
+ 'method' => 'POST',
+ 'header' => 'Content-type: application/x-www-form-urlencoded',
+ 'content' => $postdata,
+ ]
+];
+
+$context = stream_context_create($opts);
+
+$result = file_get_contents('http://example.com/submit.php', false, $context);
+
+?>
+]]>
+
+
+
+
+
+ Ignorare i reindirizzamenti ma recuperare intestazioni e contenuto
+
+ [
+ 'method' => 'GET',
+ 'max_redirects' => '0',
+ 'ignore_errors' => '1',
+ ]
+];
+
+$context = stream_context_create($opts);
+$stream = fopen($url, 'r', false, $context);
+
+// informazioni sulle intestazioni e metadati
+// dello stream
+var_dump(stream_get_meta_data($stream));
+
+// dati effettivi all'URL $url
+var_dump(stream_get_contents($stream));
+fclose($stream);
+?>
+]]>
+
+
+
+
+
+
+ &reftitle.notes;
+
+ Opzioni di contesto del socket sottostante
+
+ Opzioni di contesto aggiuntive possono essere supportate dal
+ trasporto sottostante.
+ Per gli stream http://, fare riferimento alle opzioni
+ di contesto per il trasporto tcp://. Per gli
+ stream https://, fare riferimento alle opzioni di contesto
+ per il trasporto ssl://.
+
+
+
+ Riga di stato HTTP
+
+ Quando questo wrapper dello stream segue un reindirizzamento, il
+ wrapper_data restituito da
+ stream_get_meta_data potrebbe non contenere necessariamente
+ la riga di stato HTTP che si applica effettivamente ai dati del contenuto all'indice
+ 0.
+
+
+
+ array (
+ 0 => 'HTTP/1.0 301 Moved Permanently',
+ 1 => 'Cache-Control: no-cache',
+ 2 => 'Connection: close',
+ 3 => 'Location: http://example.com/foo.jpg',
+ 4 => 'HTTP/1.1 200 OK',
+ ...
+]]>
+
+
+ La prima richiesta ha restituito un 301 (reindirizzamento permanente),
+ quindi il wrapper dello stream ha seguito automaticamente il reindirizzamento per ottenere una
+ risposta 200 (indice = 4).
+
+
+
+
+
+ &reftitle.seealso;
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/language/context/socket.xml b/language/context/socket.xml
new file mode 100644
index 00000000..e63310bf
--- /dev/null
+++ b/language/context/socket.xml
@@ -0,0 +1,217 @@
+
+
+
+
+
+ Opzioni di contesto dei socket
+ Elenco delle opzioni di contesto dei socket
+
+
+
+ &reftitle.description;
+
+ Le opzioni di contesto dei socket sono disponibili per tutti i wrapper che funzionano
+ tramite socket, come tcp, http e
+ ftp.
+
+
+
+
+ &reftitle.options;
+
+
+
+ bindto
+
+
+ Utilizzato per specificare l'indirizzo IP (IPv4 o IPv6) e/o il
+ numero di porta che PHP utilizzerà per accedere alla rete. La sintassi
+ è ip:porta per gli indirizzi IPv4, e
+ [ip]:porta per gli indirizzi IPv6.
+ Impostando l'IP o la porta a 0 il sistema
+ sceglierà automaticamente l'IP e/o la porta.
+
+
+
+ Poiché FTP crea due connessioni socket durante il funzionamento normale,
+ il numero di porta non può essere specificato con questa opzione.
+
+
+
+
+
+ backlog
+
+
+ Utilizzato per limitare il numero di connessioni in attesa nella
+ coda di ascolto del socket.
+
+
+
+ Questo è applicabile solo a stream_socket_server.
+
+
+
+
+
+ ipv6_v6only
+
+
+ Sovrascrive il comportamento predefinito del sistema operativo riguardo la mappatura IPv4 in IPv6.
+
+
+
+ Questo è particolarmente importante quando si tenta di ascoltare su indirizzi IPv4
+ separatamente mentre esiste un binding su [::].
+
+
+ Questo è applicabile solo a stream_socket_server.
+
+
+
+
+
+ so_reuseport
+
+
+ Permette binding multipli alla stessa coppia ip:porta, anche da processi separati.
+
+
+
+ Questo è applicabile solo a stream_socket_server.
+
+
+
+
+
+ so_broadcast
+
+
+ Abilita l'invio e la ricezione di dati verso/da indirizzi broadcast.
+
+
+
+ Questo è applicabile solo a stream_socket_server.
+
+
+
+
+
+ tcp_nodelay
+
+
+ Impostando questa opzione a &true; verrà impostato SOL_TCP,NO_DELAY=1
+ in modo appropriato, disabilitando così l'algoritmo TCP Nagle.
+
+
+
+
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 7.1.0
+
+ Aggiunto tcp_nodelay.
+
+
+
+ 7.0.1
+
+ Aggiunto ipv6_v6only.
+
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Esempio di utilizzo base di bindto
+
+ array(
+ 'bindto' => '192.168.0.100:0',
+ ),
+);
+
+
+// connessione a Internet utilizzando l'IP '192.168.0.100' e la porta '7000'
+$opts = array(
+ 'socket' => array(
+ 'bindto' => '192.168.0.100:7000',
+ ),
+);
+
+
+// connessione a Internet utilizzando l'indirizzo IPv6 '2001:db8::1'
+// e la porta '7000'
+$opts = array(
+ 'socket' => array(
+ 'bindto' => '[2001:db8::1]:7000',
+ ),
+);
+
+
+// connessione a Internet utilizzando la porta '7000'
+$opts = array(
+ 'socket' => array(
+ 'bindto' => '0:7000',
+ ),
+);
+
+
+// creazione del contesto...
+$context = stream_context_create($opts);
+
+// ...e utilizzo per recuperare i dati
+echo file_get_contents('http://www.example.com', false, $context);
+
+?>
+]]>
+
+
+
+
+
+
+
+
diff --git a/language/context/ssl.xml b/language/context/ssl.xml
new file mode 100644
index 00000000..e09eeab7
--- /dev/null
+++ b/language/context/ssl.xml
@@ -0,0 +1,335 @@
+
+
+
+
+
+ Opzioni di contesto SSL
+ Elenco delle opzioni di contesto SSL
+
+
+
+ &reftitle.description;
+
+ Opzioni di contesto per i trasporti ssl:// e tls://.
+
+
+
+
+ &reftitle.options;
+
+
+
+
+ peer_name
+ string
+
+
+
+ Nome del peer da utilizzare. Se questo valore non è impostato, il nome viene dedotto
+ in base al nome host utilizzato durante l'apertura dello stream.
+
+
+
+
+
+ verify_peer
+ bool
+
+
+
+ Richiede la verifica del certificato SSL utilizzato.
+
+
+ Il valore predefinito è &true;.
+
+
+
+
+
+ verify_peer_name
+ bool
+
+
+
+ Richiede la verifica del nome del peer.
+
+
+ Il valore predefinito è &true;.
+
+
+
+
+
+ allow_self_signed
+ bool
+
+
+
+ Permette i certificati autofirmati. Richiede
+ verify_peer.
+
+
+ Il valore predefinito è &false;
+
+
+
+
+
+ cafile
+ string
+
+
+
+ Posizione del file dell'Autorità di Certificazione nel filesystem locale
+ che dovrebbe essere utilizzato con l'opzione di contesto verify_peer
+ per autenticare l'identità del peer remoto.
+
+
+
+
+
+ capath
+ string
+
+
+
+ Se cafile non è specificato o se il certificato
+ non viene trovato lì, la directory indicata da capath
+ viene cercata per un certificato adatto. capath
+ deve essere una directory di certificati con hash corretto.
+
+
+
+
+
+ local_cert
+ string
+
+
+
+ Percorso del file del certificato locale nel filesystem. Deve essere un
+ file codificato in PEM che contiene il certificato e
+ la chiave privata. Può opzionalmente contenere la catena di certificati degli emittenti.
+ La chiave privata può anche essere contenuta in un file separato specificato
+ da local_pk.
+
+
+
+
+
+ local_pk
+ string
+
+
+
+ Percorso del file della chiave privata locale nel filesystem nel caso di file
+ separati per il certificato (local_cert) e la chiave privata.
+
+
+
+
+
+ passphrase
+ string
+
+
+
+ Passphrase con la quale il file local_cert
+ è stato codificato.
+
+
+
+
+
+ verify_depth
+ int
+
+
+
+ Interrompe se la catena di certificati è troppo profonda.
+
+
+ Per impostazione predefinita nessuna verifica.
+
+
+
+
+
+ ciphers
+ string
+
+
+
+ Imposta l'elenco dei cifrari disponibili. Il formato della stringa è descritto
+ in ciphers(1).
+
+
+ Il valore predefinito è DEFAULT.
+
+
+
+
+
+ capture_peer_cert
+ bool
+
+
+
+ Se impostato a &true; verrà creata un'opzione di contesto peer_certificate
+ contenente il certificato del peer.
+
+
+
+
+
+ capture_peer_cert_chain
+ bool
+
+
+
+ Se impostato a &true; verrà creata un'opzione di contesto peer_certificate_chain
+ contenente la catena di certificati.
+
+
+
+
+
+ SNI_enabled
+ bool
+
+
+
+ Se impostato a &true; l'indicazione del nome del server verrà abilitata. L'abilitazione di SNI
+ permette l'utilizzo di certificati multipli sullo stesso indirizzo IP.
+
+
+
+
+
+ disable_compression
+ bool
+
+
+
+ Se impostato, disabilita la compressione TLS. Questo può aiutare a mitigare il vettore
+ di attacco CRIME.
+
+
+
+
+
+ peer_fingerprint
+ string | array
+
+
+
+ Interrompe quando il digest del certificato remoto non corrisponde all'hash
+ specificato.
+
+
+ Quando viene utilizzata una string, la lunghezza determinerà quale algoritmo
+ di hashing viene applicato, "md5" (32) o "sha1" (40).
+
+
+ Quando viene utilizzato un array, le chiavi indicano il nome dell'algoritmo
+ di hashing e ogni valore corrispondente è il digest atteso.
+
+
+
+
+
+ security_level
+ int
+
+
+
+ Imposta il livello di sicurezza. Se non specificato viene utilizzato il livello di sicurezza
+ predefinito della libreria.
+ I livelli di sicurezza sono descritti in
+ SSL_CTX_get_security_level(3).
+
+
+ Disponibile a partire da PHP 7.2.0 e OpenSSL 1.1.0.
+
+
+
+
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 7.2.0
+
+ Aggiunto security_level. Richiede OpenSSL >= 1.1.0.
+
+
+
+
+
+
+
+
+
+ &reftitle.notes;
+
+
+ Poiché ssl:// è il trasporto sottostante per i wrapper
+ https:// e
+ ftps://,
+ tutte le opzioni di contesto applicabili a ssl:// si applicano anche a
+ https:// e ftps://.
+
+
+
+
+ Affinché SNI (Server Name Indication) sia disponibile, PHP deve essere compilato
+ con OpenSSL 0.9.8j o superiore. Utilizzare la costante
+ OPENSSL_TLSEXT_SERVER_NAME per determinare se SNI è
+ supportato.
+
+
+
+
+
+ &reftitle.seealso;
+
+
+
+
+
+
+
+
+
+