Server Side Includes

Anuncio
Server Side Includes
Server Side Includes
Ing. Javier Giese, MC
¿Qué son los SSI?
• DIRECTIVAS
Server Side Includes
Ing. Javier Giese, MC
2
1
¿Qué son los SSI?
• DIRECTIVAS
¿Dónde las encuentro?
Documento
Documento
en
en
HTML
HTML
Server Side Includes
Ing. Javier Giese, MC
3
¿Qué son los SSI?
• DIRECTIVAS
¿Para qué sirven?
Ejecución de programas
Server Side Includes
Ing. Javier Giese, MC
4
2
¿Qué son los SSI?
• DIRECTIVAS
¿Para qué sirven?
Ejecución de programas
Datos (variables de
ambiente, estadísticas)
Server Side Includes
Ing. Javier Giese, MC
5
¿Qué son los SSI?
• DIRECTIVAS
NO son soportadas/disponibles por
cualquier servidor
• Configuración
• “fakessi.pl”
Server Side Includes
Ing. Javier Giese, MC
6
3
¿Cómo funcionan los SSI?
Browser
Server Side Includes
Ing. Javier Giese, MC
7
¿Cómo funcionan los SSI?
Browser
Server Side Includes
Servidor
Ing. Javier Giese, MC
8
4
¿Cómo funcionan los SSI?
Browser
Servidor
HTML
HTML
con
con
SSI
SSI
Server Side Includes
Ing. Javier Giese, MC
9
¿Cómo funcionan los SSI?
Browser
Servidor
HTML
HTML
con
con
SSI
SSI
¿SSI?
Server Side Includes
Ing. Javier Giese, MC
10
5
¿Cómo funcionan los SSI?
Servidor
Browser
HTML
HTML
con
con
SSI
SSI
¿SSI?
FECHA
HTML
HTML
Server Side Includes
Ing. Javier Giese, MC
11
Configuración de SSIs
• httpd.conf
Configurar la extensión de documentos con SSIs
.shtml
Permitir uso de directivas de SSI en documentos de
HTML
Permitir ejecución de programas externos
Server Side Includes
Ing. Javier Giese, MC
12
6
Configuración de SSIs
• AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddHandler server-parsed .shtml (sólo previo a
Apache 2.0)
• En aquellos directorios (<Directory>) donde
se almacenen SSI, agregar:
Options+ Includes
ya sea en httpd.conf o en archivos .htaccess
Server Side Includes
Ing. Javier Giese, MC
13
Sintaxis de SSIs
<!--#comando parámetro(s)=“argumentos”-->
Server Side Includes
Ing. Javier Giese, MC
14
7
Directivas SSIs
• config
config errmsg | sizefmt | timefmt = “string”
– sizefmt: bytes | abbrev
– timefmt: “códigos de estado”
• echo
echo var=“variable_de_ambiente”
• exec
exec cmd | cgi=“string”
• flastmod
flastmod file=“trayectoria”
Server Side Includes
Ing. Javier Giese, MC
15
Directivas SSIs
• fsize
fsize file | virtual = “trayectoria”
• Include
include file | virtual = “trayectoria”
• printenv
• set
set var=“nombre” value=“valor”
Server Side Includes
Ing. Javier Giese, MC
16
8
Directivas SSIs
• timefmt
%a (“Sun”) vs
%A (“Sunday”)
%b (“Jan”)
vs
%B (“January”)
%d (“01”)
vs %D (“01/24/04”)
vs
%e (“1”)
%H (24 hrs. “13”)
vs
%I (12 hrs “1”)
%j (día del año)
%m (número de mes)
%M (minutos)
%S (segundos)
%r (= “%I:%M:%S %p”)
%T (= “%H:%M:%S”)
%U,%W (semana-año)
%w (número de día de la semana)
%y (“04)
vs
%Y (“2004”)
%p (“AM | PM”)
%Z (zona de tiempo “EST”)
Server Side Includes
Ing. Javier Giese, MC
17
Ejemplos de directivas
• echo
Sintaxis:
echo var=“variable de ambiente”
ejem:
<!--#echo var=“SERVER_NAME”-->
Server Side Includes
Ing. Javier Giese, MC
18
9
Ejemplos de directivas
• include
Sintaxis:
include file=“archivo.html”
include virtual=“ruta/archivo.html”
ejem:
<!--#include file=“firma.html”-->
Server Side Includes
Ing. Javier Giese, MC
19
Ejemplos de directivas
• fsize
Sintaxis:
fsize file=“archivo”
ejem:
<!--#fsize file=“ejemplo.txt”-->
Server Side Includes
Ing. Javier Giese, MC
20
10
Ejemplos de directivas
• exec
Sintaxis:
exec cmd=“comando”
ejem:
<!--#exec cmd=“/usr/ucb/finger
$REMOTE_USER@$REMOTE_HOST”-->
Server Side Includes
Ing. Javier Giese, MC
21
Estatutos Condicionales SSI
•
•
•
•
<!--#if expr=“expresion”-->
<!--#elif expr=“expresion”-->
<!--#else-->
<!--#endif-->
Server Side Includes
Ing. Javier Giese, MC
22
11
Estatutos Condicionales SSI
<!--#if expr=“$mivar=activa”-->
<b>Variable activa</b>
<!--#elif expr=“$mivar=inactiva”-->
<b>Variable inactiva</b>
<!--#else-->
<b>Valor desconocido para mi variable</b>
<!--#endif-->
Server Side Includes
Ing. Javier Giese, MC
23
Variables de ambiente
•
•
•
•
•
•
DOCUMENT_NAME
DOCUMENT_URI
DATE_LOCAL
DATE_GMT
LAST_MODIFIED
Y variables estándar de CGIs
Ej:
<!--#echo var=“LAST_MODIFIED” -->
Server Side Includes
Ing. Javier Giese, MC
24
12
Todos los derechos reservados
© Copyright 2004 Javier Giese
Prohibida su reproducción parcial o
total sin consentimiento por escrito
del autor.
Server Side Includes
Ing. Javier Giese, MC
25
13
Descargar