viernes, 29 de junio de 2012

Protocolo HTTP

Desde 1990, el protocolo HTTP (Protocolo de transferencia de hipertexto) es el protocolo más utilizado en Internet. La versión 0.9 sólo tenía la finalidad de transferir los datos a través de Internet (en particular páginas Web escritas en HTML). La versión 1.0 del protocolo (la más utilizada) permite la transferencia de mensajes con encabezados que describen el contenido de los mensajes mediante la codificación MIME.

El propósito del protocolo HTTP es permitir la transferencia de archivos (principalmente, en formato HTML). entre un navegador (el cliente) y un servidor web (denominado, entre otros, httpd en equipos UNIX) localizado mediante una cadena de caracteres denominada dirección URL.

Comunicación entre el navegador y el servidor


La comunicación entre el navegador y el servidor se lleva a cabo en dos etapas:
El navegador realiza una solicitud HTTP El servidor procesa la solicitud y después envía una respuesta HTTP En realidad, la comunicación se realiza en más etapas si se considera el procesamiento de la solicitud en el servidor. Dado que sólo nos ocupamos del protocolo HTTP, no se explicará la parte del procesamiento en el servidor en esta sección del artículo. Si este tema les interesa, puede consultar el articulo sobre el tratamiento de CGI.

Solicitud HTTP


Una solicitud HTTP es un conjunto de líneas que el navegador envía al servidor. Incluye: Una línea de solicitud: es una línea que especifica el tipo de documento solicitado, el método que se aplicará y la versión del protocolo utilizada. La línea está formada por tres elementos que deben estar separados por un espacio:

  • el método
  • la dirección URL
  • la versión del protocolo utilizada por el cliente (por lo general, HTTP/1.0)
  • Los campos del encabezado de solicitud: es un conjunto de líneas opcionales que permiten aportar información adicional sobre la solicitud y/o el cliente (navegador, sistema operativo, etc.). Cada una de estas líneas está formada por un nombre que describe el tipo de encabezado, seguido de dos puntos (:) y el valor del encabezado.
  • El cuerpo de la solicitud: es un conjunto de líneas opcionales que deben estar separadas de las líneas precedentes por una línea en blanco y, por ejemplo, permiten que se envíen datos por un comando POST durante la transmisión de datos al servidor utilizando un formulario.
Por lo tanto, una solicitud HTTP posee la siguiente sintaxis ( significa retorno de carro y avance de línea):
MÉTODO VERSIÓN URL
ENCABEZADO: Valor
. . . ENCABEZADO: Valor
Línea en blanco 

CUERPO DE LA SOLICITUD


A continuación se encuentra un ejemplo de una solicitud HTTP:

GET http://es.kioskea.net HTTP/1.0 Accept : Text/html If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)

Comandos


Comando Descripción GET Solicita el recurso ubicado en la URL especificada
HEAD Solicita el encabezado del recurso ubicado en la URL especificada
POST Envía datos al programa ubicado en la URL especificada
PUT Envía datos a la URL especificada
DELETE Borra el recurso ubicado en la URL especificada

Encabezados


Nombre del encabezado Descripción Accept Tipo de contenido aceptado por el navegador (por ejemplo, texto/html). Consulte Tipos de MIME
Accept-Charset Juego de caracteres que el navegador espera
Accept-Encoding Codificación de datos que el navegador acepta
Accept-Language Idioma que el navegador espera (de forma predeterminada, inglés)
Authorization Identificación del navegador en el servidor Content-Encoding Tipo de codificación para el cuerpo de la solicitud
Content-Language Tipo de idioma en el cuerpo de la solicitud
Content-Length Extensión del cuerpo de la solicitud
Content-Type Tipo de contenido del cuerpo de la solicitud (por ejemplo, texto/html). Consulte Tipos de MIME
Date Fecha en que comienza la transferencia de datos
Forwarded Utilizado por equipos intermediarios entre el navegador y el servidor
From Permite especificar la dirección de correo electrónico del cliente
From Permite especificar que debe enviarse el documento si ha sido modificado desde una fecha en particular
Link Vínculo entre dos direcciones URL
Orig-URL Dirección URL donde se originó la solicitud
Referer Dirección URL desde la cual se realizó la solicitud
User-Agent Cadena con información sobre el cliente, por ejemplo, el nombre y la versión del navegador y el sistema operativo

Respuesta HTTP


Una respuesta HTTP es un conjunto de líneas que el servidor envía al navegador. Está constituida por: Incluye: Una línea de estado: es una línea que especifica la versión del protocolo utilizada y el estado de la solicitud en proceso mediante un texto explicativo y un código. La línea está compuesta por tres elementos que deben estar separados por un espacio: La línea está formada por tres elementos que deben estar separados por un espacio:

  • la versión del protocolo utilizada
  • el código de estado
  • el significado del código
  • Los campos del encabezado de respuesta: es un conjunto de líneas opcionales que permiten aportar información adicional sobre la respuesta y/o el servidor. Cada una de estas líneas está compuesta por un nombre que califica el tipo de encabezado, seguido por dos puntos (:) y por el valor del encabezado Cada una de estas líneas está formada por un nombre que describe el tipo de encabezado, seguido de dos puntos (:) y el valor del encabezado.
  • El cuerpo de la respuesta: contiene el documento solicitado.
Por lo tanto, una respuesta HTTP posee la siguiente sintaxis ( significa retorno de carro y avance de línea):
VERSIÓN-HTTP CÓDIGO EXPLICACIÓN 
ENCABEZADO: Valor
. . . ENCABEZADO: Valor
Línea en blanco 
CUERPO DE LA RESPUESTA
A continuación se encuentra un ejemplo de una respuesta HTTP:
HTTP/1.0 200 OK Date: Sat, 15 Jan 2000 14:37:12 GMT Server : Microsoft-IIS/2.0 Content-Type : text/HTML Content-Length : 1245 Last-Modified : Fri, 14 Jan 2000 08:25:13 GMT

Encabezados de respuesta


Nombre del encabezado Descripción Content-Encoding Tipo de codificación para el cuerpo de la respuesta
Content-Language Tipo de idioma en el cuerpo de la respuesta
Content-Length Extensión del cuerpo de la respuesta
Content-Type Tipo de contenido del cuerpo de la respuesta (por ejemplo, texto/html). Consulte Tipos de MIME
Date Fecha en que comienza la transferencia de datos
Expires Fecha límite de uso de los datos
Forwarded Utilizado por equipos intermediarios entre el navegador y el servidor
Location Redireccionamiento a una nueva dirección URL asociada con el documento
Server Características del servidor que envió la respuesta

Los códigos de respuesta


Son los códigos que se ven cuando el navegador no puede mostrar la página solicitada. El código de respuesta está formado por tres dígitos: el primero indica el estado y los dos siguientes explican la naturaleza exacta del error. Código Mensaje Descripción 10x Mensaje de información Estos códigos no se utilizan en la versión 1.0 del protocolo
20x Éxito Estos códigos indican la correcta ejecución de la transacción
200 OK La solicitud se llevó a cabo de manera correcta
201 CREATED Sigue a un comando POST e indica el éxito, la parte restante del cuerpo indica la dirección URL donde se ubicará el documento creado recientemente.
202 ACCEPTED La solicitud ha sido aceptada, pero el procedimiento que sigue no se ha llevado a cabo
203 PARTIAL INFORMATION Cuando se recibe este código en respuesta a un comando de GET indica que la respuesta no está completa.
204 NO RESPONSE El servidor ha recibido la solicitud, pero no hay información de respuesta
205 RESET CONTENT El servidor le indica al navegador que borre el contenido en los campos de un formulario
206 PARTIAL CONTENT Es una respuesta a una solicitud que consiste en el encabezado range. El servidor debe indicar el encabezado content-Range
30x Redirección Estos códigos indican que el recurso ya no se encuentra en la ubicación especificada
301 MOVED Los datos solicitados han sido transferidos a una nueva dirección
302 FOUND Los datos solicitados se encuentran en una nueva dirección URL, pero, no obstante, pueden haber sido trasladados
303 METHOD Significa que el cliente debe intentarlo con una nueva dirección; es preferible que intente con otro método en vez de GET
304 NOT MODIFIED Si el cliente llevó a cabo un comando GET condicional (con la solicitud relativa a si el documento ha sido modificado desde la última vez) y el documento no ha sido modificado, este código se envía como respuesta.
40x Error debido al cliente Estos códigos indican que la solicitud es incorrecta
400 BAD REQUEST La sintaxis de la solicitud se encuentra formulada de manera errónea o es imposible de responder
401 UNAUTHORIZED Los parámetros del mensaje aportan las especificaciones de formularios de autorización que se admiten. El cliente debe reformular la solicitud con los datos de autorización correctos
402 PAYMENT REQUIRED El cliente debe reformular la solicitud con los datos de pago correctos
403 FORBIDDEN El acceso al recurso simplemente se deniega
404 NOT FOUND Un clásico. El servidor no halló nada en la dirección especificada. Se ha abandonado sin dejar una dirección para redireccionar... :)
50x Error debido al servidor Estos códigos indican que existe un error interno en el servidor
500 INTERNAL ERROR El servidor encontró una condición inesperada que le impide seguir con la solicitud (una de esas cosas que les suceden a los servidores...)
501 NOT IMPLEMENTED El servidor no admite el servicio solicitado (no puede saberlo todo...)
502 BAD GATEWAY El servidor que actúa como una puerta de enlace o proxy ha recibido una respuesta no válida del servidor al que intenta acceder
503 SERVICE UNAVAILABLE El servidor no puede responder en ese momento debido a que se encuentra congestionado (todas las líneas de comunicación se encuentran congestionadas, inténtelo de nuevo más adelante)
504 GATEWAY TIMEOUT La respuesta del servidor ha llevado demasiado tiempo en relación al tiempo de espera que la puerta de enlace podía admitir (excedió el tiempo asignado...)

Más información

Para obtener más información sobre el protocolo HTTP, consulte la RFC (petición de comentarios)1945, que explica el protocolo en detalle:
RFC 1945 - Protocolo de transferencia de hipertexto -- HTTP/1.0 (traducción al francés)
RFC 1945 - Protocolo de transferencia de hipertexto -- HTTP/1.0 (versión original)
RFC 2616 - Protocolo de transferencia de hipertexto -- HTTP/1.0 (versión original)

Toma de la siguiente página

sábado, 16 de junio de 2012

Comandos de Windows

COMANDOS PARA EJECUTAR.
En el menú de inicio/ejecutar podremos ejecutar los siguientes comandos:

access.cpl: comando para acceder a la opciones de accesibilidad.
accwiz: comando para usar el asistente para accesibilidad.
hdwwiz.cpl: comando para usar el asistente de agregar hardware.
appwiz.cpl: comando para agregar o quitar programas.
control admintools: comando para usar las herramientas administrativas.
wuaucpl.cpl: comando para utilizar actualizaciones automaticas.
fsquirt: comando para usar el asistente de transferencia con bluetooth.
cal: comando para utilizar la calculadora de Windows.
certmgr.msc: comando para utilizar certificados.
charmap: comando para ver el mapa de caracteres.
chkdsk: comando para utilidades de disco.
cmd: comando para utilizar el promp de windows.
clpbrd: comando para ver el visor de portafolios.
dcomcnfg: comando para ver el servicio de componentes.
compmgmt.msc: comando para ver la administración de equipos.
control: comando para abrir el panel de control.
timedate.cpl: comando para cambiar la hora del sistema, debemos tener permiso para ejecutarlo.ddeshare: comando para ejecutar recursos DDE en el equipo.
devmgmt.msc: comando para ejecutar el administrador de dispositivos.
dxdiag: comando para ejecutar la herramienta de diagnóstico de DirecX.
cleanmgr: comando para usar la herramienta de liberar algún dispositivo del equipo.
dfrg.msc: comando para desfragmentar discos.
diskmgmt.msc: comando para ejecutar el administrador de discos.
diskpart: comando para ejectuar el menu de particiones.
control desktop: comando para ejecutar la ventana de propiedades de pantalla.
desk.cpl: igual que el control desktop, muestra la ventana de propiedades de pantalla.
drwtsn32: comando para ejecutar el Dr. watson para windows.
verifier: comando para ejecutar el administrador del comprobador de controlador eventvwr.msc: comando para ver el visor de sucesos local.
migwiz: comando para ejecutar el asistente de transferencia de archivo y configuraciones.
sigverif: comando para ejecutar el comprobador de la firma de un archivo.
firefox: comando para ejecutar el navegador firefox.
control folders: comando para ejecutar las opciones de carpetas.
control fonts: comando para abrir la carpeta de fuentes.
fonts: comando para abrir windows\font.
freecell: comando para abrir el juego de carta blanca.
joy.cpl: comando para abrir los controles de dispositivos de juegos.
gpedit.msc: comando para abrir la directiva de grupo.
mshearts: comando para abrir el juego de corazones.
helpctr: comando para abrir el centro de ayuda.
hypertrm: comando para abrir el hyperterminal.
iexpress: comando para abrir ie 2.0.
ciadv.msc: comando para abrir el servicio de index server.
icwconn1: comando para abrir el asistente para conectar a internet.
iexplore: comando para abrir ie.
inetcpl.cpl: comando para abrir las propiedades de internet explorer.
control keyboard: comando para abrir las propiedades del teclado.
secpol.msc: comando para abrir configuración de seguridad local\directivas de restricción de software.
lusrmgr.msc: comando para abrir directiva de usuarios locales y de grupos.
logoff: comando para cerrar la sesion.
mrt: comando para abrir la herramienta de software mal intencionado.
winchat: comando para abrir winchat de windows.
moviemk: comando para abrir windows movie maker.
mspaint: comando para abrir paint.
mobsync: comando para sincronizar instancias.
winmine: comando para abrir el buscaminas player.
control mouse: comando para abrir las propiedades del ratón.
main.cpl: comando para abrir las propiedades del ratón.
conf: comando para abrir netmeeting.
control netconnections: comando para abrir propiedades de red.
ncpa.cpl: comando para abrir propiedades o conexiones de red.
netsetup.cpl: comando para abrir el asistente para configuracion de red.
notepad: comando para abrir el notepad.
packager: comando para abrir el empaquetador de objeto del sistema.
odbccp32.cpl: comando para abrir el administrador de origen de datos odbc.
osk: comando para ver el teclado de windows en pantalla.
msimn: comando para abrir outlook express.
pbrush: comando para abrir el paint.
perfmon.msc: comando para ver el monitor del sistema.
telephon.cpl: comando para abrir el asitente de marcado.
dialer: comando para abrir el marcador telefonico.
pinball: comando para abrir el juego pinball.
powercfg.cpl: comando para abrir las propiedades de opciones de energia.
intl.cpl: comando para abrir la configuracion regional y de idioma.
regedit: comando para abrir el registro de windows.
rasphone: comando para conectar a una red de Dominio o remota o vpn.
mstsc: comando para ejecutar el escritorio remoto.
ntmsmgr.msc: comando para abrir solicitudes de medios extraibles.
ntmsoprq.msc: comando para abrir solicitudes de medios extraibles, pero de solicitud del operador.
rsop.msc: comando para abrir o realizar el conjunto resultante de directivas.
control schedtasks: comando para abrir el administrador de tareas programadas.
wscui.cpl: comando para abrir el centro de seguridad de windows del pc.
services.msc: comando para abrir administrar los servicios del sistema.
fsmgmt.msc: comando para administrar las carpetas compartidas.
shutdown: comando para apagar el sistema.
mmsys.cpl: comando para abrir las propiedades de sonido y audio.
spider: comando para abrir el juego de spider.
sysedit: comando para abrir el editor de configuración del sistema.
msconfig: comando para abir la utilidad del sistema.
msinfo32: comando para ver toda la información del sistema.
sysdm.cpl: comando para ver la ventana de propiedades del sistema.
taskmgr: comando para abrir el administrador de tareas.
telnet: comando para ejecutar telnet.
nusrmgr.cpl: comando para abrir la ventana de cuentas de usuario.
utilman: comando para abrir el administrador de utilidades.
wab: comando para abrir la libreta de direcciones predeterminada de windows.
wabmig: comando para abrir la herramienta de importación de direcciones de la libreta pred.
explorer: comando para abrir el explorador de carpetas.
firewall.cpl: comando para abrir el firewall de windows.
magnify: comando para abrir el ampliador de windows.
wmimgmt.msc: comando para abrir el wmi.
wmplayer: comando para abrir el windows media player.
msmsgs: comando para abrir el messenger predeterminado de windows.
syskey: comando para cifrar la base de datos de windows.
wupdmgr: comando para conectar a update de windos y actualizarlo.
winver: comando para ver el acerca de windows, muestra la inf. del so.
write: comando para abrir el wordpad.