Applicazioni web client server Flashcards

1
Q

Cos’è un’applicazione client-server?

A

È un modello di architettura di rete in cui il client fornisce l’interfaccia utente, mentre il server fornisce risorse e servizi richiesti dal client.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quali sono i principali linguaggi/metalinguaggi lato client?

A

HTML: Struttura le pagine web.
CSS: Definisce lo stile e il layout delle pagine.
JavaScript: Aggiunge interattività e dinamismo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quali sono i linguaggi lato server più comuni?

A

PHP (usato nel corso).
ASP, Python, Ruby, .NET, Node.js, Java (JSP).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cosa sono i DBMS? Elenca alcuni esempi.

A

I Database Management Systems (DBMS) sono software per gestire database. Esempi:

MySQL
Oracle.
PostgreSQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cos’è il modello LAMP?

A

LAMP è un’architettura per applicazioni web, composta da:

Linux: Sistema operativo.
Apache: Server HTTP.
MySQL: Database relazionale.
PHP: Linguaggio di scripting lato server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qual è il workflow di un’applicazione client-server in LAMP?

A
  • Il browser invia una richiesta al server Apache.
  • Apache elabora la richiesta e identifica i file PHP.
  • PHP esegue il codice, incluse le query a MySQL.
  • Il server restituisce una pagina HTML al client.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Perché il modello LAMP è popolare?

A

È open source e quindi economico.
Offre stabilità, flessibilità e scalabilità.
Permette di creare applicazioni web dinamiche.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qual è il ruolo di Apache nel modello LAMP?

A

Riceve richieste dal client.
Gestisce i file PHP.
Invia risposte (HTML) al browser.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quali sono i vantaggi di usare PHP in un’applicazione web?

A

È facile da imparare e ben documentato.
È integrato con MySQL per la gestione di database.
Consente di creare pagine web dinamiche.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual è il ruolo di MySQL in un’applicazione web?

A

È un DBMS utilizzato per:

Memorizzare e organizzare dati.
Rispondere alle query eseguite dal linguaggio lato server (es. PHP).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cosa accade quando un browser richiede una pagina PHP?

A

Apache individua il file PHP.
Il codice PHP viene eseguito, incluse le query al database.
Viene generato un file HTML, inviato al browser.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cos’è il client software?

A

È il software che funge da interfaccia per interagire con il server. Ad esempio, un browser web.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qual è la differenza tra PHP e JavaScript?

A

PHP: Eseguito lato server, genera contenuti dinamici.
JavaScript: Eseguito lato client, gestisce interattività e dinamismo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Perché usare un database come MySQL?

A

Gestisce grandi quantità di dati.
Supporta query complesse.
È veloce e scalabile.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Qual era il problema delle pagine web statiche degli anni ‘90?

A

Le pagine web statiche non potevano cambiare il contenuto senza intervento manuale. L’evoluzione di Internet ha portato alla necessità di contenuti dinamici personalizzati o estratti da database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

PHP cosa significa il suo nome originario?

A

Personal Home Page.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Come si apre e si chiude il codice PHP?

A

Il codice PHP si apre con < ?php e si chiude con ?>.
Tutto ciò che è compreso tra questi tag è PHP, il resto è restituito come semplice HTML.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Qual è la differenza tra echo e print in PHP?

A

Entrambi stampano a schermo del testo, ma echo è leggermente più veloce e non restituisce un valore, mentre print restituisce un valore (1) e può essere utilizzato in espressioni.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Come si dichiara una variabile in PHP?

A

Le variabili iniziano con $ e il valore viene assegnato con =.
Esempio: $variabile = “contenuto”;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Qual è la differenza tra stringhe dichiarate con virgolette doppie e singole?

A

Virgolette doppie (“): Consentono l’interpolazione di variabili.
Virgolette singole (‘): Considerano il contenuto come testo letterale.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Come si concatenano le stringhe in PHP?

A

Con il punto (.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Quali sono gli operatori matematici principali in PHP?

A

+: Addizione
-: Sottrazione
*: Moltiplicazione
/: Divisione
%: Modulo (calcola il resto della divisione)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Come si incrementa o si decrementa una variabile numerica in PHP?

A

Incremento di 1: $variabile++;
Decremento di 1: $variabile–;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Qual è l’importanza delle parentesi nelle operazioni matematiche?

A

Le parentesi determinano la priorità delle operazioni.
(come nella matematica normale lol)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Come si integrano PHP e HTML?

A

PHP può essere inserito in una pagina HTML usando i tag <?php ?> e stampando i valori delle variabili con echo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Quali sono i principali operatori logici in PHP?

A

==: Uguale
!=: Diverso
<: Minore
>: Maggiore
<=: Minore o Uguale
>=: Maggiore o Uguale

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

I nomi delle variabili in PHP sono case sensitive?

A

Sì, i nomi delle variabili distinguono tra maiuscole e minuscole. $Variabile e $variabile sono diverse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Qual è il costrutto base per creare una condizione in PHP?

A

il costrutto base è if..else

if (condizione) {
// codice se condizione è vera
} else {
// codice se condizione è falsa
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Come si scrive in PHP la frase “se piove resto a casa”?

A

$tempo = “piove”;
if ($tempo == “piove”) {
echo “resto a casa”;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Qual è la differenza tra = e == in PHP?

A

= è un operatore di assegnazione (assegna un valore a una variabile).
== è un operatore di confronto (verifica se due valori sono uguali).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Come si scrive in PHP la frase “se piove resto a casa, altrimenti vado al parco”?

A

$tempo = “sole”;
if ($tempo == “piove”) {
echo “resto a casa”;
} else {
echo “vado al parco”;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Come si crea una condizione nidificata in PHP?

A

Utilizzando un secondo if all’interno del primo.

$tempo = “piove”;
$temperatura = “freddo”;
if ($tempo == “piove”) {
if ($temperatura == “freddo”) {
echo “resto a casa”;
} else {
echo “vado al bar”;
}
} else {
echo “vado al parco”;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Cosa succede se la prima condizione di un if nidificato non è verificata?

A

La seconda condizione non viene nemmeno verificata.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Cosa fa il costrutto switch in PHP?

A

switch verifica il valore di un’espressione e esegue il codice associato al caso corrispondente.

switch ($variabile) {
case ‘valore1’:
// codice
break;
case ‘valore2’:
// codice
break;
default:
// codice
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

A cosa serve l’istruzione break in un switch?

A

Serve per terminare l’esecuzione del blocco case. Senza break, PHP continuerebbe a eseguire i blocchi successivi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

È obbligatoria la clausola default in un switch?

A

No, la clausola default è opzionale, ma è utile per definire un comportamento predefinito se nessuna condizione è soddisfatta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Cosa sono i cicli in PHP?

A

Un ciclo consiste nella ripetizione di un comando o un blocco di codice per un dato numero di volte o finché una condizione è vera.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Qual è la sintassi di base di un ciclo for in PHP?

A

for (inizializzazione; condizione; incremento) {
// codice da eseguire
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Quali sono i tre elementi presenti tra le parentesi tonde di un ciclo for?

A

Inizializzazione: viene eseguita una sola volta all’inizio del ciclo.
Condizione: viene valutata prima di ogni iterazione; se falsa, il ciclo termina.
Incremento/Decremento: viene eseguito al termine di ogni iterazione.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Come si scrive in PHP la tabellina del 3 usando un ciclo for?

A

for ($moltiplicatore = 1; $moltiplicatore <= 10; $moltiplicatore++) {
$risultato = 3 * $moltiplicatore;
echo “3 * “ . $moltiplicatore . “ = “ . $risultato . “<br></br>”;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Qual è il rischio di utilizzare i cicli in modo scorretto?

A

Si può creare un loop infinito, ovvero un ciclo che non termina mai, causando problemi al server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Qual è la sintassi di un ciclo while in PHP?

A

while (condizione) {
// codice da eseguire finché la condizione è vera
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Qual è la differenza principale tra for e while?

A

In un ciclo for, tutte le istruzioni di inizializzazione, condizione e incremento sono definite nella stessa riga.

In un ciclo while, solo la condizione è specificata, mentre inizializzazione e incremento devono essere gestiti separatamente.

44
Q

Qual è la differenza principale tra while e do while?

A

In while, la condizione viene valutata prima dell’esecuzione del ciclo.

In do while, il codice viene eseguito almeno una volta, perché la condizione è valutata alla fine.

45
Q

A cosa serve il ciclo foreach in PHP?

A

Serve per iterare su ogni elemento di un array.

46
Q

Cosa è un array in PHP?

A

Un array è una “super-variabile” che può contenere più valori, ognuno dei quali è identificato da un indice.

47
Q

Come si dichiara un array con indice numerico in PHP?

A

$amici = array(“Luca”, “Jacopo”, “Felice”, “Peppo”);

$amici = [“Luca”, “Jacopo”, “Felice”, “Peppo”];

48
Q

Come si assegnano valori a un array specificando manualmente gli indici?

A

$amici[0] = “Luca”;
$amici[1] = “Jacopo”;
$amici[2] = “Felice”;
$amici[3] = “Peppo”;

49
Q

Come accedere a un singolo elemento di un array?

A

echo $amici[1]; // Output: Jacopo

50
Q

Cosa sono gli array associativi?

A

Sono array in cui gli indici sono stringhe anziché numeri.

es
$cliente[“nome”] = “Bill”;
$cliente[“cognome”] = “Gates”;

51
Q

Come aggiungere un nuovo elemento in un array numerico?

A

$amici[] = “Daniele”; // Aggiunge “Daniele” come nuovo elemento in fondo all’array.

52
Q

Come sostituire un elemento in un array?

A

Specificando l’indice e assegnando un nuovo valore:

$amici[2] = “Marcello”; // Sostituisce “Felice” con “Marcello”.

53
Q

Come determinare la lunghezza di un array in PHP?

A

Utilizzando la funzione count():

$lunghezza = count($amici);

54
Q

Come stampare tutti gli elementi di un array usando un ciclo for?

A

$amici = [“Luca”, “Jacopo”, “Felice”, “Peppo”];
$max_num = count($amici);
for ($i = 0; $i < $max_num; $i++) {
echo $amici[$i] . “<br></br>”;
}

55
Q

Qual è la sintassi di base di un ciclo foreach per iterare su un array?

A

foreach ($array as $valore) {
// codice da eseguire
}

56
Q

Come stampare tutti gli elementi di un array usando un ciclo foreach?

A

$amici = [“Luca”, “Jacopo”, “Felice”, “Peppo”];
foreach ($amici as $amico) {
echo $amico . “<br></br>”;
}

57
Q

Qual è il vantaggio del ciclo foreach rispetto a for?

A

Il ciclo foreach non richiede di contare il numero di elementi nell’array, poiché PHP gestisce automaticamente la lunghezza.

58
Q

Cosa sono le variabili GET e POST in PHP?

A

Sono variabili superglobali che permettono di recuperare dati inviati dagli utenti al server tramite URL (GET) o moduli HTML (POST).

59
Q

Come vengono inviati i dati con il metodo GET?

A

I dati vengono passati nell’URL dopo un punto di domanda (?), organizzati in coppie nome=valore e separati da &.

es
http://www.sito.com/automobili.php?marca=fiat&modello=panda

60
Q

Come si recuperano i valori di una QueryString in PHP?

A

Usando la variabile superglobale $_GET con il nome del parametro come chiave.

es
$marca = $_GET[‘marca’];
$modello = $_GET[‘modello’];

61
Q

Qual è la differenza tra il metodo GET e POST?

A

GET: Invia i dati nell’URL (visibili all’utente).
POST: Invia i dati in modo nascosto attraverso la richiesta HTTP.

62
Q

Quali sono i due attributi fondamentali del tag <form>?

A

method: Specifica il metodo di invio dei dati (GET o POST).
action: Specifica il percorso del file PHP che gestirà i dati inviati.

63
Q

Come si recuperano i dati inviati con il metodo POST?

A

Usando la variabile superglobale $_POST con il nome del campo come chiave.

es
$nome_utente = $_POST[‘nome’];
echo “Ciao “ . $nome_utente;

64
Q

Perché il metodo POST è considerato più sicuro rispetto al metodo GET?

A

Perché i dati inviati con POST non sono visibili nell’URL e non vengono memorizzati nella cronologia del browser.

65
Q

Qual è una situazione tipica in cui si utilizza il metodo GET?

A

Quando si devono passare parametri semplici, come nelle ricerche o nei link cliccabili.

66
Q

Qual è una situazione tipica in cui si utilizza il metodo POST?

A

Quando si inviano dati sensibili o form di grandi dimensioni (ad esempio login, registrazioni o ordini).

67
Q

Cosa succede se un modulo <form> non specifica l’attributo method?

A

Il metodo predefinito è GET.

68
Q

Come si gestiscono i dati inviati da un modulo con PHP?

A

Recupera i dati con $_GET o $_POST.
Elabora i dati (esempio: salvali, mostrali o processali).

es
<?php
$nome = $_POST[‘nome’];
echo “Benvenuto, “ . $nome;
?>

69
Q

Che cos’è un database?

A

È un insieme di informazioni permanenti organizzate secondo una struttura definita da un modello dati che rappresenta una situazione reale (es. gestione magazzino, fatturazione, personale).

70
Q

Come sono organizzate le informazioni nei file tradizionali rispetto a un database?

A

Nei file tradizionali, le informazioni sono organizzate in modo sequenziale. In un database, le informazioni sono relazionate tra loro secondo un modello dati.

71
Q

Qual è la differenza tra un numero in un file e in un database?

A

In un file, è semplicemente un numero in una certa posizione. In un database, ha un ruolo definito dal modello dati (es. prezzo, identificativo univoco, ecc.).

72
Q

Quali sono gli esempi di entità in un database?

A

Prezzo, prodotto, articolo, ordine, cliente. Queste entità sono specificate e correlate tra loro dal modello dati.

73
Q

Quali requisiti deve soddisfare un database?

A

Ridondanza minima: Per evitare duplicazioni inutili e mantenere i dati consistenti.
Multiutenza: Accesso contemporaneo a un’unica versione dei dati con gestione dei diritti e prevenzione di conflitti.

74
Q

Perché è importante ridurre la ridondanza in un database?

A

Per evitare spreco di risorse di memorizzazione e problemi di consistenza e affidabilità dei dati.

75
Q

Come si evita che utenti diversi creino conflitti accedendo ai dati?

A

Attraverso tecniche che gestiscono i diritti di accesso e sincronizzano l’attività degli utenti.

76
Q

Come sono strutturate le informazioni in un database relazionale?

A

Sotto forma di tabelle organizzate in righe (record) e colonne (campi). Ogni riga rappresenta un insieme di informazioni, e ogni colonna un tipo specifico di dato.

77
Q

Cos’è una chiave primaria in un database?

A

È un identificatore univoco per ogni record in una tabella. Ad esempio, il codice di un prodotto o l’ID di un utente.

78
Q

Cosa rappresenta una relazione tra tabelle?

A

Una connessione basata su una colonna comune. Ad esempio, la colonna “codice” nella tabella PRODOTTI e la colonna “cod_prodotto” nella tabella MAGAZZINO.

79
Q

Quali sono le operazioni relazionali di base?

A

Join: Unione di record tra due tabelle.
Proiezione: Estrazione di specifiche colonne.
Selezione: Estrazione di specifici record.

80
Q

Cos’è una query in SQL?

A

È un’operazione per invocare attività sul database, come ricercare, filtrare, inserire, modificare o eliminare dati.

81
Q

Come si selezionano record ordinati per un campo in SQL?

A

Ascendente: SELECT * FROM anagrafica ORDER BY id;

Discendente: SELECT * FROM anagrafica ORDER BY id DESC;

82
Q

Qual è la differenza tra > e >= in una query SQL?

A

> seleziona record con valori strettamente maggiori.
= seleziona record con valori maggiori o uguali.

83
Q

Come si effettua una JOIN in SQL?

A

SELECT anagrafica.*
FROM anagrafica
INNER JOIN classe
ON anagrafica.id_classe = classe.id
WHERE classe.name=’1A’;

84
Q

Come si inserisce un record in una tabella con SQL?

A

INSERT INTO anagrafica(nome, cognome)
VALUES (‘marco’, ‘biondi’);

85
Q

Come si aggiorna un record in una tabella con SQL?

A

UPDATE anagrafica
SET nome = ‘marco’
WHERE id = 2;

86
Q

Come si elimina un record da una tabella con SQL?

A

DELETE FROM anagrafica
WHERE id = 2;

87
Q

Come si selezionano record che contengono una parte di stringa in un campo?

A

SELECT * FROM anagrafica
WHERE nome LIKE ‘%alessandro%’;

88
Q

Qual è la differenza tra include() e require() in PHP?

A

include() genera un warning in caso di errore, mentre require() genera un fatal error bloccando l’esecuzione dello script.

89
Q

Come si formatta una query string in PHP con il metodo GET?

A

La query string segue il punto interrogativo ? ed è composta da coppie nome/valore separate da = e collegate da &.

90
Q

Cosa succede se una checkbox non viene selezionata con il metodo POST?

A

La variabile corrispondente non sarà definita in $_POST.

91
Q

Qual è la porta principale usata dal protocollo FTP?

A

Porta 21 per il controllo; porta 20 è usata per i dati in modalità attiva.

92
Q

Perché Telnet è considerato insicuro?

A

Perché non cripta le comunicazioni, rendendole vulnerabili ad attacchi.

93
Q

A quale livello della pila OSI appartiene ICMP e a cosa serve?

A

Appartiene al livello 3 e trasmette informazioni di controllo e malfunzionamento. È usato da comandi come ping e traceroute.

94
Q

Che cos’è il MAC Address?

A

È un identificativo univoco a 48 bit assegnato alle schede di rete, modificabile a livello software.

95
Q

Come funziona Tor per garantire l’anonimato?

A

Usa crittografia a strati e instradamento onion per mascherare l’origine e la destinazione del traffico.

96
Q

Come interagiscono i livelli del modello OSI quando si trasferisce un file con FTP?

A

Ogni livello incapsula i dati aggiungendo le proprie informazioni, con FTP a livello applicativo, TCP per il trasporto, IP per l’instradamento e ARP per il livello datalink.

97
Q

Come funziona il protocollo DHCP?

A

Assegna dinamicamente indirizzi IP ai dispositivi tramite i messaggi Discover, Offer, Request e Acknowledge.

98
Q

Qual è la relazione tra SMB e CIFS?

A

CIFS è una versione più recente del protocollo SMB per la condivisione di file e stampanti.

99
Q

Qual è la differenza principale tra HTTP e HTTPS?

A

HTTPS cripta le comunicazioni utilizzando TLS/SSL, mentre HTTP no.

100
Q

Come funziona il protocollo ARP?

A

Traduce indirizzi IP in MAC Address per comunicare nel livello datalink.

101
Q

Cosa rappresenta la “cifra a cipolla” nel funzionamento di TOR?

A

Ogni nodo decifra uno strato del messaggio, conoscendo solo il nodo successivo.

102
Q

Perché SFTP è più sicuro rispetto a FTP?

A

SFTP utilizza il protocollo SSH per crittografare i trasferimenti di file.

103
Q

Qual è la differenza principale tra i protocolli DNS e DHCP?

A

DNS traduce i nomi di dominio in indirizzi IP, mentre DHCP assegna indirizzi IP ai dispositivi.

104
Q

Quali protocolli operano a livello di trasporto nel modello OSI?

A

TCP e UDP.

105
Q

Perché UDP è considerato un protocollo “senza connessione”?

A

Non garantisce consegna, ordine dei pacchetti o ritrasmissione.

106
Q

Qual è lo standard più usato per criptare comunicazioni via web?

A

TLS/SSL.

107
Q

Qual è la differenza principale tra uno switch e un router?

A

Uno switch connette dispositivi all’interno di una rete locale (LAN), mentre un router collega reti diverse.