\begin{frame}
  \frametitle{}
  \begin{center}
    {\Large Reti}
  \end{center}
\end{frame}
\begin{frame}
  \frametitle{Web}
  \color{Blu}{Struttura}
  \begin{columns}
    \begin{column}{.5\textwidth}
      \begin{itemize}
      \item Server (nodi)
      \item Provider
      \item Pacchetto 
      \end{itemize}
    \end{column}
    \begin{column}{.5\textwidth}
      \begin{itemize}
      \item Client (host)
      \item DNS (domaine name service) NAT (network address translation, modifica gli IP dei pacchetti)
      \end{itemize}
    \end{column}
  \end{columns}
\end{frame}

\begin{frame}
  \frametitle{Server}
\color{Blu}{Contiene:}
\begin{itemize}
\item Database: contenuti relativi ad utenti, materiale
\item Programmi lato server: php, python
\end{itemize}
\color{Blu}{Servizi/porte/ protocolli TCP/IP}
\begin{itemize}
\item mail uscita (smtp)/entrata (pop, imap)
\item http
\item ssh 
\item ftp (file transfer protocol) 
\item dav
\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Client/terminale}
\color{Blu}{Accesso:}
\begin{itemize}
\item Porte/protocolli: pop, imap, smtp, ssh, stl, http, https
\item Programmi lato client: browser, ssh
\end{itemize}
\color{Rosso}{Il client accede al server e utilizza i programmi remoti}\\
\color{Blu}{Il browser:}
\begin{itemize}
\item Esegue il codice html, xml, javascript
\item php viene interpretato sul server
\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Sicurezza}
  \color{Blu}{Criptazione}
  \begin{itemize}
  \item SSL/TLS (Secure Sokets Layer, Transport Layer Security)
  \item Chiave pubblica/privata gpg
  \item Firewall (controlla l'accesso ad ogni porta)
  \end{itemize}
  \color{Blu}{Malware}
  \begin{itemize}
  \item Virus (riscrive il suo codice su file eseguibili ogni volta che un file infetto viene aperto)
  \item Worm (si diffonde tramite mail e internet e rimane attivo come processo di sistema)
  \item Trojan (programma sull'host con permessi eseguito da remoto)
  \item Dialer (si connettono a provider a pagamento)
  \item Spyware (forniscono informazioni sull'utente, a volte parte di un freeware)
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{LAMP}
  \color{Blu}{Linux Apache MySQL php}
  \begin{itemize}
  \item Sistema operativo
  \item Web server
  \item Database server
  \item Programma lato server
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Apache/nginx}
  \color{Blu}{Web server}
  \begin{itemize}
  \item Gestisce le richieste dai client (traduce, controlla, contenuto (MIME type), risponde)
  \item httpd.conf (moduli, estensioni, mime-type)
  \item .htaccess (autorizzazione, riscrittura degli url, cache
  \item proxy (gestisce le autorizzazioni e reindirizzamenti)
  \item socket su IP per la lettura e scrittura di dati per utilizzare API standard
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Database server}
  \color{Blu}{MySQL, postgreSQL}
  \begin{itemize}
  \item Gestisce gli utenti e gli accessi
  \item Performante in termini di memoria e ricerca
  \item libero
  \end{itemize}
  \color{Blu}{Oracle}
  \begin{itemize}
  \item Sistema di gestione base dati
%  \item PMON (monitor dei processi), SMON (monitor del sistema), DBWR (scrive nei data file), LGWR (scrive nei log), CKPT (scrive nei check point), 
  \item {\it tablespace} contiene {\it datafile} con {\it segment} di {\it extent} (gruppi contigui di {\it data block})
  \end{itemize}
\end{frame}
