PDF de programación - Servidores Web: Apache e IIS

Servidores Web: Apache e IISgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 25 de Noviembre del 2017)
625 visualizaciones desde el 25 de Noviembre del 2017
3,5 MB
26 paginas
Creado hace 13a (07/11/2010)
Contenidos
Contenidos

Conceptos básicos
• Conceptos básicos
• Apache

– Instalación
– Servidores virtuales
– Autenticación de usuarios
– Monitorización y optimización del servidor Apache
– Apache y la generación de contenido dinámico
– Seguridad

y

• IIS (Internet Information Server)
IIS (Internet Information Server)

– Instalación
– Servidores virtuales
– Seguridad
Seguridad

Agradecimientos:

Servidores Web: Apache e IIS
Máster

Daniel Rodríguez
Daniel Rodríguez
Departamento de Ciencias de la Computación
Universidad de Alcalá

– Transparencias de Apache basadas en Alberto Abián, UAH.

Servidores Web
Daniel Rodríguez

Protocolo HTTP
Protocolo HTTP

Conceptos básicos
Conceptos básicos

– Desarrollado por el consorcio W3C y la IETF, colaboración que culminó en 1999

con la publicación de una serie de RFCs, siendo el más importante de ellos el
RFC 2616, que especifica la versión 1.1.

• HTTP define la sintaxis y la semántica que utilizan los elementos

software de la arquitectura Web (clientes, servidores, proxies) para
comunicarse.

t

l d t

• El protocolo de transferencia de hipertexto (HTTP, HyperText
T t

El
Transfer Protocol) es el protocolo usado en cada transacción de la
Web (WWW).

(HTTP H

i d hi

f

t

t

– Es un protocolo orientado a transacciones y sigue el esquema petición-

i f

respuesta entre un cliente y un servidor. Al cliente que efectua la petición (un
navegador o un spider) se lo conoce como "user agent" (agente del usuario). A
la información transmitida se la llama recurso y se la identifica mediante un URL.
l
URL
– Los recursos pueden ser archivos, el resultado de la ejecución de un programa,
una consulta a una base de datos, la traducción automática de un documento,
etc
etc.

id tifi

ió t

itid

di

ll

t

l

l

Servidores Web
Daniel Rodríguez

2

4

HTTP – Protocolo sin Estado
HTTP Protocolo sin Estado

HTTPHTTP

• HTTP es un protocolo sin estado, es decir, en general no guarda

HTTP
ninguna información sobre conexiones anteriores.

d i

t d

d

t

l

l

i



ll



L
La conversación que se lleva a cabo entre un cliente y un servidor
se realiza mediante texto normal. Sobre Internet el protocolo está
sobre TCP y generalmente sobre el puerto 80. El cliente envía al
servidor la siguiente información (de manera absolutamente
transparente):

id

b

li

t

t

• El desarrollo de aplicaciones web necesita frecuentemente mantener

estado. Para esto se usan las cookies, que es información que un
estado. Para esto se usan las cookies, que es información que un
servidor puede almacenar en el sistema cliente.

• Esto le permite a las aplicaciones web instituir la noción de "sesión", y

bié

t
ki
también permite rastrear usuarios ya que las cookies pueden
guardarse en el cliente por tiempo indeterminado.

d

it

t

l

i

(

p

1. El método de la petición (GET o POST).
)
2. El nombre del documento que desea.
3. La versión de protocolo HTTP que se empleará en la comunicación.
4. Una lista de los tipos de datos que está dispuesto a aceptar (por ejemplo, si
j

p ,

(p

q

p

p

p

tenemos deshabilitada la opción de cargar gráficos, no incluirá el tipo gráfico en
la lista).

5. Su propio nombre y versión.
6. Más cosas como el cliente que es, etc. y una línea en blanco para indicar el

final.

Servidores Web
Daniel Rodríguez

5

Servidores Web
Daniel Rodríguez

HTTP – Métodos principales
HTTP Métodos principales

Protocolo HTTP
Protocolo HTTP

• Principalmente, se dan los siguientes métodos:
• GET

– Devolver un fichero

• POST
E i

– Enviar datos al servidor

d t

id

l

Ejemplos:

p

http://www.uah.es/
http://www.uah.es/index.html
http://www.uah.es/prog/appl.html

GET / HTTP/1.0
GET /index.html HTTP/1.0
GET /prog/appl.html HTTP/1.0

• Para obtener un recurso con el URL http://www example com/index html
• Para obtener un recurso con el URL http://www.example.com/index.html

1. Se abre un con el host www.tuhost.example, puerto 80 que es el puerto por defecto para HTTP.
2. Se envía un mensaje en el estilo siguiente:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: HTTPTool/1.0
Connection: close
[Línea en blanco]



La respuesta del servidor está formada por encabezados seguidos del recurso
solicitado, en el caso de una página Web:

HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221
<html><body>
<h1>Página principal de tuHost</h1>
.. .
</b d ></ht l>
</body></html>

Servidores Web
Daniel Rodríguez

7

Servidores Web
Daniel Rodríguez

6

8

HTTP – Códigos de retorno
HTTP Códigos de retorno

HTTP y las capas inferiores
HTTP y las capas inferiores

• 200 OK
• 200 OK
• 201 Created
• 202 Accepted
• 204 No Content
t
204 N C t
• 301 Moved Permanently
• 302 Moved Temporarily
• 304 Not Modified
• 400 Bad Request
• 401 Unauthorized
• 403 Forbidden
• 404 Not Found
• 500 Internal Server Error
500 Internal Server Error
• 501 Not Implemented
• 502 Bad Gateway
• 503 Service Unavailable
• 503 Service Unavailable

Servidores Web
Daniel Rodríguez

MIME Types
MIME Types

9

Servidores Web
Daniel Rodríguez

10

Ejemplo Fichero mime.types
e.types
je p o c e o

MIME "M lti
• MIME "Multipurpose Internet Mail Extensions" (MIME
" (MIME
definido en RFC 1521) se definió como estándar para
enviar por correo electrónico con datos binarios.

t M il E t

I t

p

i

– Los usos típicos de MIME incluyen el envío de imágenes, audio,
documentos de procesadores de texto o incluso ficheros de texto
cuando es importante que sistema de correo no modifique ninguna
parte del fichero.

– MIME permite además etiquetar partes de un mensaje para que el

receptor (o programa de correo) puede determinar que hacer con él.
• El algoritmo “Base64” se utiliza para convertir ficheros
binarios a texto y viceversa.
• Este mismo concepto se a aplicado en la Web para el
• Este mismo concepto se a aplicado en la Web para el
envío sobre el protocolo HTTP de las diferentes partes de
las que se compone un documento en HTML

# This file controls what Internet media types are sent to the client for
# given file extension(s)
# given file extension(s). Sending the correct media type to the client
Sending the correct media type to the client
# is important so they know how to handle the content of the file.
# Extra types can either be added here or by using an AddType directive
# in your config files. For more information about Internet media types,
# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet type
# registry is at <http://www.iana.org/assignments/media-types/>.
# MIME type
yp
application/activemessage
application/andrew-inset
application/applefile
application/atom+xml
application/atom+xml

image/jpeg
text/html
text/parityfec
text/parityfec
text/plain

Extensions
ez
atom
atom
jpeg jpg jpe
html htm

txt text conf def list log in

Servidores Web
Daniel Rodríguez

11

Servidores Web
Daniel Rodríguez

12

Ejecución de aplicaciones con CGI
Ejecución de aplicaciones con CGI

j

d

P
• Para poder ejecutar aplicaciones externas, se puede
utilizar un protocolo llamado CGI (Common Gateway
Interface)
Interface),

d

li

t

t

i

– CGI define una serie de parámetros conocidos como variables de

entorno, que describen las peticiones del cliente.

– Esto define una interfaz independiente entre los programas o scripts y

el servidor HTTP

Apache
Apache

Servidores Web
Daniel Rodríguez

13

Apache
Apache

Apache Módulos
Apache Módulos

Su nombre se debe a que originalmente Apache consistía solamente
• Su nombre se debe a que originalmente Apache consistía solamente
en un conjunto de parches a aplicar al servidor de NCSA. Era, en
inglés, a patchy server (un servidor "parcheado").
El
d l
(httpd) de la Apache Software Foundation.

• El servidor Apache se desarrolla dentro del proyecto HTTP Server

t HTTP S

ll d t

id A

h

d

• Apache presenta entre otras características mensajes de error

p

p

j

altamente configurables, bases de datos de autenticación y
negociado de contenido, pero fue criticado por la falta de una interfaz
gráfica que ayude en su configuración.
gráfica que ayude en su configuración.

• Modular, Open source, Multi-plataforma, Extensible, Popular (fácil

conseguir ayuda y soporte) y gratuito .

t

it

L
• La arquitectura del servidor Apache es modular. El servidor consta de
un nucleo (core) y mucha de la funcionalidad que podría considerarse
básica para un servidor Web es provista por módulos.

id A

t d

d l

d l

El

id

h

• Por ejemplo, modulos de la funcionalidad básica incluyen:

te

– mod_ssl - Comunicaciones Seguras vía TLS.
– mod rewrite - reescritura de direcciones servidas (generalmente utilizado para
ado pa a

od_ e
transformar páginas dinámicas como php en páginas estáticas html para así
engañar a los navegantes o a los motores de búsqueda en cuanto a como
fueron desarrolladas estas páginas).

eesc u a de d ecc o es se das (ge e a e e u

– mod_dav - Soporte del protocolo WebDAV (RFC 2518).
– mod_deflate - Compresión transparente con el algoritmo deflate del contenido

enviado al cliente.

– mod_auth_ldap - Permite autentificar usuarios contra un servidor LDAP.
LDAP
– mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de

tifi

id

P

it

t

páginas dinámicas en Java (servlets y JSP).

i

t

Servidores Web
Daniel Rodríguez

15

Servidores Web
Daniel Rodríguez

16

Modulos no básicos (externos)
Modulos no básicos (externos)

Instalación Apache (en Windows)
Instalación Apache (en Windows)

l

i

h
/
•http://httpd.apache.org/

//h

h

d

El
• El servidor de base puede ser extendido con la inclusión
de módulos externos entre los cuales se encuentran:

t did

d b

id



d

l

– mod perl - Páginas dinámicas en Perl
mod_perl Páginas dinámicas en Perl.
– mod_php - Páginas dinámicas en PHP.
– mod_python - Páginas dinámicas en Python.
– mod_rexx - Páginas dinámicas en REXX y Object REXX.
– mod_ruby - Páginas dinámicas en Ruby.
– mod mono - Páginas dinámicas en Mono
  • Links de descarga
http://lwp-l.com/pdf7688

Comentarios de: Servidores Web: Apache e IIS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad