alan_dangelo            Sat Nov  3 18:07:10 2001 EDT

  Modified files:              
    /phpdoc/it/functions        http.xml 
  Log:
  Update the italian translation to EN-Revision 1.31 - Alan D'Angelo.
  
  
Index: phpdoc/it/functions/http.xml
diff -u phpdoc/it/functions/http.xml:1.10 phpdoc/it/functions/http.xml:1.11
--- phpdoc/it/functions/http.xml:1.10   Fri Nov  2 20:25:45 2001
+++ phpdoc/it/functions/http.xml        Sat Nov  3 18:07:10 2001
@@ -1,13 +1,13 @@
 <?xml encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.29 Maintainer: alan_dangelo  Status: ready -->
+<!-- EN-Revision: 1.31 Maintainer: alan_dangelo  Status: ready -->
  <reference id="ref.http">
   <title>Funzioni HTTP</title>
   <titleabbrev>HTTP</titleabbrev>
 
   <partintro>
    <simpara>
-    Queste funzioni permettono di manipolare le risposte di un server remoto 
-    verso un client attraverso interazioni (headers) del protocollo HTTP.
+    Queste funzioni permettono di modificare l'output inviato verso un browser
+    attraverso manipolazioni a livello di protocollo HTTP.
    </simpara>
   </partintro>
 
@@ -26,35 +26,32 @@
      </funcprototype>
     </funcsynopsis>
     <para>
-     La funzione <function>header</function> si utilizzata in cima ad un
-     documento <acronym>HTML</acronym> per inviare headers <acronym>HTTP</acronym>
-     ad un server remoto. Per informazioni dettagliate sul protocollo 
<acronym>HTTP</acronym>
-     si vedano la risorsa <ulink url="&spec.http1.1;">HTTP 1.1 specification</ulink>.
+     <function>header</function> si utilizza per inviare header 
+<acronym>HTTP</acronym>.
+     Per maggiorni informazioni riguardanti gli header <acronym>HTTP</acronym>
+     si veda la risorsa <ulink url="&spec.http1.1;">HTTP 1.1 specification</ulink>.
+
     </para>
     <para>
-     L'argomento opzionale <parameter>replace</parameter> indica se l'intestazione 
-     inviata deve sostituirne una spedita precedentemente dello stesso tipo, o 
-     accodarsi alla prima intestazione. Per default la funzione invia un'intestazione 
-     che rimpiazza la precedente, ma se <parameter>replace</parameter> assume il 
valore 
-     &false; vengono forzate intestazioni multiple dello stesso tipo. Per esempio: 
-
+     L'argomento opzionale <parameter>replace</parameter> indica se l'header 
+     inviato deve sostituirne uno simile spedito precedentemente, o accodarsi 
+     al primo dello stesso tipo. Per default la funzione sostituisce
+     l'header precedente, ma se viene passato &false; come secondo argomento
+     vengono forzate intestazioni multiple. Per esempio:
      <informalexample>
       <programlisting role="php">
-header('www-authenticate: Negociate');
-header('www-authenticate: NTLM',false);
+header('WWW-Authenticate: Negotiate');
+header('WWW-Authenticate: NTLM',false);
       </programlisting>
      </informalexample>
     </para>
     <para>
-     Ci sono due casi speciali di chiamate di headers. Il primo riguarda 
-     &quot;Location&quot;. Location non trasmette solo un'intestazione al 
-     client browser, ma anche un codice REDIRECT ad un server Apache. Dal
-     punto di vista della programmazione questa informazione non è importante, 
-     ma per chi conosce il funzionamento di Apache è un aspetto interessante
-     da sapere.
+     Ci sono due casi speciali di chiamate di header. Il primo è 
+     &quot;Location&quot;. Location non trasmette solo un header al 
+     browser, ma anche un <literal>REDIRECT</literal> con 
+     codice di stato (302).
      <informalexample>
       <programlisting role="php">
-header ("Location: http://www.php.net/";); /* Ridireziona il browser 
+header("Location: http://www.php.net/";); /* Ridireziona il browser 
                                             al sito di PHP */
 exit;                 /* Assicura che il codice sottostante 
                          non sia eseguito dopo il redirezionamento. */
@@ -63,13 +60,13 @@
     </para>
     <note>
      <para>
-      HTTP 1.1 richiede un URI assoluto come argomento di 
+      HTTP/1.1 richiede un <acronym>URI</acronym> assoluto come argomento di 
       <ulink url="&spec.http1.1;-sec14.html#sec14.30">Location:</ulink>
-      composto da protocollo, hostname, e path assoluto. Alcuni clients 
-      possono accettare anche URIs relativi, ma è bene non fare affidamento 
-      su questa eccezione. E' possibile usare $HTTP_SERVER_VARS['HTTP_HOST'], 
-      $HTTP_SERVER_VARS['PHP_SELF'] e <function>dirname</function>
-      per creare URI assoluti da URI relativi in modo automatico:
+      composto da schema, hostname, e path assoluto, ma alcuni clients 
+      possono accettare anche URIs relativi. E' possibile usare 
+      $HTTP_SERVER_VARS['HTTP_HOST'], $HTTP_SERVER_VARS['PHP_SELF'] 
+      e <function>dirname</function> per creare URI assoluti da URI relativi 
+      in modo automatico:
       <informalexample>
        <programlisting>
 header ("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST']
@@ -81,51 +78,120 @@
     </note>
     <para>
      Il secondo caso speciale è esemplificato dalle intestazioni che 
-     iniziano con la stringa, &quot;HTTP/&quot; (questo non è un esempio).
-     Per esempio, se si riceve la direttiva Apache ErrorDocument 404 puntando 
-     ad un nostro script PHP, è una buona idea assicurarsi che sia veramente 
-     stato lo script a generare l'errore 404. La prima cosa da fare è 
-     inserire nello script la seguente intestazione:
+     iniziano con la stringa, &quot;HTTP/&quot; (le maiuscole non sono 
+     discriminanti), che è usato per inviare codici di stato HTTP.
+     Per esempio, se si è configurato Apache per usare script PHP per la 
+     manipolazione di richieste fallite (usando la direttiva 
+     <literal>ErrorDocument</literal>), potete desiderare di assicurarvi
+     che il vostro script generi il codice adeguato. 
      <informalexample>
       <programlisting role="php">
 header ("HTTP/1.0 404 Not Found");
       </programlisting>
      </informalexample>
-    </para>
-    <para>
-     Spesso gli scrit PHP generano HTML dinamico, se volete evitare che i 
-     contenuti dinamici vengano mantenuti nella cache di browser o proxy, 
-     potete forzare il loro comportamento con questa direttiva: 
+     <note>
+      <para>
+       In PHP 3, questo funziona solo se PHP è compilato come modulo
+       Apache. Potete ottenere lo stesso effetto usando l'header
+       <literal>Status</literal>.
+       <informalexample>
+        <programlisting role="php">
+header("Status: 404 Not Found");
+        </programlisting>
+       </informalexample>
+      </para>
+     </note>
+    </para>
+    <para>
+     Spesso gli scrit PHP generano contenuti dinamici, se volete evitare che i 
+     contenuti vengano mantenuti nella cache di browser o proxy, 
+     potete forzare il loro comportamento con questa direttiva:
+
      <informalexample>
       <programlisting role="php">
-header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Data passata
-header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
-                                                      // continuamente modificato
-header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
-header ("Pragma: no-cache");                          // HTTP/1.0
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
+header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
+                                                     // always modified
+header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");                          // HTTP/1.0
       </programlisting>
      </informalexample>
+     <note>
+      <para>
+       E' possibile che alcune pagine rimangano in chache anche dopo 
+       l'uso degli header descritti sopra. Ci sono delle opzioni che 
+       l'utente può settare dal browser, capaci di modificare i comportamenti 
+       di default del caching. Per trasmettere efficacemente gli header 
+       descritti, bisogna che sia inattiva ogni regolazione che può forzare 
+       comportamenti contrari.
+      </para>
+      <para>
+       Inoltre, <function>session_cache_limiter</function> e
+       e la configurazione <literal>session.cache_limiter</literal>
+       possono essere usate per generare automaticamente i corretti
+       header relativi al caching durante l'uso delle sessioni.
+      </para>
+     </note>
     </para>
     <para>
      Bisogna ricordare che la funzione<function>header</function> va 
-     chiamata prima di qualsiasi output HTML o PHP (anche righe o spazi vuoti). 
-     E' un errore comune leggere files con funzioni <function>include</function>, 
-     o <function>require</function> (o altre funzioni capaci di accedere a files), 
-     che possano emettere in output spazi o linee vuote prima di una chiamata della
-     funzione <function>header</function>. Lo stesso problema esiste nell'utilizzare
+     chiamata prima di qualsiasi output HTML o PHP (anche righe o spazi
+     vuoti). E' un errore comune leggere files con funzioni 
+     <function>include</function>, o <function>require</function> 
+     (o altre funzioni capaci di accedere a files), che possano emettere 
+     in output spazi o linee vuote prima di una chiamata della funzione 
+     <function>header</function>. Lo stesso problema esiste nell'utilizzare
      file PHP/HTML.
      <informalexample>
       <programlisting role="php">
-&lt;?php require("user_logging.inc") ?>
+&lt;?php require("user_logging.inc") ?&gt;
 
 
-&lt;?php header ("Content-Type: audio/x-pn-realaudio"); ?>
+&lt;?php header ("Content-type: audio/x-pn-realaudio"); ?>
 // Non funziona. Notate le linee vuote sopra
       </programlisting>
      </informalexample>
+     <note>
+      <para>
+       In PHP 4, potete usare il buffering dell'output per aggirare
+       questo problema, evitando ogni output al browser trattenedolo
+       al server fino a che non gli si impone l'invio. Si può fare questa operazione
+       chiamando <function>ob_start</function> e <function>ob_end_flush</function>
+       nello script, o settando la direttiva di configurazione 
+       <literal>output_buffering</literal> nel file <filename>php.ini</filename> o
+       nel file di configurazione del server.
+      </para>
+     </note>
     </para>    
     <para>
-     Vedi anche <function>headers_sent</function>
+     Se desiderate che l'utente sia spinto a salvare i dati trasmessi 
+     per esempio utilizzando un file pdf, potete usare 
+     l'header <ulink url="&url.rfc2183;">Content-Disposition</ulink>, che vi
+     permette di dare un nome al file e forzare il browser a mostrare la finestra
+     di dialogo save.
+     <informalexample>
+      <programlisting role="php">
+&lt;?php
+header("Content-type: application/pdf");
+header("Content-Disposition: attachment; filename=downloaded.pdf");
+
+/* ... manda all'output un file pdf ... */
+      </programlisting>
+     </informalexample>
+     <note>
+      <para>
+       Per un bug di Microsoft Internet Explorer 4.01 qusto sistema
+       non funziona. Non ci sono soluzioni. C'è un altro bug in Microsoft 
+       Internet Explorer 5.5 che impedisce il giusto funzionamento,
+       ma è possibile risolverlo con l'upgrade del Service Pack 2 o superiore.
+      </para>
+     </note>
+    </para>
+    <para>
+     Vedi anche <function>headers_sent</function>,
+     <function>setcookie</function>, e la sezione 
+     <link linkend="features.http-auth">Autenticazione HTTP usando PHP</link>.
     </para>
    </refsect1>
   </refentry>
@@ -133,7 +199,7 @@
   <refentry id="function.headers-sent">
    <refnamediv>
     <refname>headers_sent</refname>
-    <refpurpose>Restituisce &true; se gli headers (intestazioni HTTP) sono stati 
+    <refpurpose>Restituisce &true; se gli header sono stati 
     trasmessi.
     </refpurpose>
    </refnamediv>
@@ -146,8 +212,8 @@
      </funcprototype>
     </funcsynopsis>
     <para>
-     Questa funzione restituisce &true; se le intestazioni 
-     <acronym>HTTP</acronym> sono state spedite correttamente, 
+     Questa funzione restituisce &true; se gli header 
+     <acronym>HTTP</acronym> sono stati spedite correttamente, 
      &false; in caso contrario.
     </para>
     <para>
@@ -159,7 +225,7 @@
   <refentry id="function.setcookie">
    <refnamediv>
     <refname>setcookie</refname>
-    <refpurpose>Spedisce (crea) un cookie verso un client</refpurpose>
+    <refpurpose>Spedisce un cookie</refpurpose>
    </refnamediv>
    <refsect1>
     <title>Descrizione</title>
@@ -186,7 +252,7 @@
     </funcsynopsis>
     <para>
      <function>setcookie</function> definisce un cookie da inviare insieme 
-     alle altre informazioni <acronym>HTTP</acronym>. I cookie devono essere spediti
+     alle altre informazioni di header. I cookie devono essere spediti
      <emphasis>prima</emphasis> di qualsiasi altra intestazione (questa è 
      una restrizione dei cookies, non di PHP). E' necessario perciò chiamare 
      la funzione <function>setcookie</function> <emphasis>prima</emphasis> di 
@@ -216,8 +282,7 @@
       </listitem>
       <listitem>
        <simpara>
-        I cookie devono essere cancellati specificando gli stessi parametri con 
-        cui sono stati creati.
+        I cookie devono essere cancellati specificando gli stessi parametri con cui 
+sono stati creati.
        </simpara>
       </listitem>
      </itemizedlist>
@@ -227,8 +292,7 @@
      nello stesso script sono eseguite in ordine inverso. Se state provando 
      a cancellare un cookie prima dell' inserimento di un altro cookie, 
      dovete creare il secondo prima della cancellazione del primo. In PHP 4, 
-     chiamate successive di <function>setcookie</function> invece, sono eseguite 
-     secondo l'ordine di chiamata. 
+     chiamate successive di <function>setcookie</function> invece, sono eseguite 
+secondo l'ordine di chiamata. 
     </simpara>
     <para>
      Alcuni esempi sul modo di spedire cookie:
@@ -300,11 +364,11 @@
     <simpara>
      Netscape Communicator 4.05 e Microsoft Internet Explorer 3.x 
      sembrano utilizzare in modo errato i cookie quando 
-     <parameter>path</parameter> ed <parameter>expire</parameter> 
-     non sono specificati.
+     <parameter>path</parameter> ed <parameter>expire</parameter> non sono 
+specificati.
     </simpara>
    </refsect1>
   </refentry>
+
  </reference>
 
 <!-- Keep this comment at the end of the file


Reply via email to