Saltar al contenido principal
Versión: 19

Administración

4D ofrece varias herramientas integradas para iniciar, detener o supervisar el servidor web integrado.

Iniciar el servidor Web 4D

Para poder lanzar el servidor web de 4D o 4D Server, debe tener una licencia "4D Web Application". Para más información, consulte el sitio web de 4D.

Un proyecto 4D puede iniciar y monitorizar un servidor web para la aplicación principal (host) así como para cada componente alojado.

El servidor web principal de 4D puede iniciarse de diferentes maneras:

  • Utilizando un botón o comando de menú.

    • 4D: Ejecución > iniciar el servidor web
    • 4D Server: en la página del servidor HTTP, haga clic en Iniciar servidor HTTP
  • Se inicia automáticamente cada vez que se abre la aplicación 4D. Para ello, despliegue la página Web/Configuración de la Configuración y seleccione la casilla Lanzar el servidor web al inicio:

  • Por programación, llamando la función webServer.start() o el comando WEB START SERVER.

El servidor web de cualquier componente puede iniciarse llamando a la función webServer.start() en el objeto servidor web del componente.

No es necesario relanzar la aplicación 4D para iniciar o detener el servidor web.

Detener el servidor Web 4D

El servidor web principal de 4D puede detenerse de diferentes maneras:

  • Utilizando el menú 4D Ejecución>Detener el servidor Web, o vía el botón Detener el servidor HTTP de la página Servidor HTTP de 4D Server (ambos elementos muestran Iniciar... cuando el servidor no está ya iniciado).

  • Por programación, llamando la función webServer.stop() o el comando WEB STOP SERVER.

El servidor web de cualquier componente puede detenerse llamando a la función webServer.stop() en el objeto servidor web del componente.

Probar el servidor Web 4D

El comando Test Web Server puede utilizarse para asegurarse de que el servidor web integrado funciona correctamente (sólo en 4D). Este comando es accesible en el menú Ejecutar cuando se lanza el servidor web:

Al seleccionar este comando, la página de inicio del sitio web publicado por la aplicación 4D se muestra en una ventana de su navegador web predeterminado:

Este comando permite verificar que el servidor web, la visualización de la página de inicio, etc. funcionan correctamente. La página se llama utilizando la URL localhost, que es el atajo estándar que designa la dirección IP de la máquina en la que se ejecuta el navegador web. El comando tiene en cuenta el número de puerto de publicación TCP especificado en los parámetros.

Borrar la caché

En cualquier momento, puede vacíar la caché de las páginas y de las imágenes que contiene (si, por ejemplo, ha modificado una página estática y quiere volver a cargarla en la caché).

Para ello, basta con hacer clic en el botón Vaciar la caché de la página Web/Opciones (I) de la caja de diálogo de Parámetros. La caché se borra inmediatamente.

También puede utilizar la URL /4DCACHECLEAR.

Explorador de ejecución

La página Watch (sección Web) del Explorador de ejecución muestra la información del servidor web, en particular:

  • Uso de la caché web: indica el número de páginas presentes en la caché web así como su porcentaje de uso. Esta información sólo está disponible si el servidor web está activo y si el tamaño de la caché es mayor que 0.

  • Tiempo de actividad del servidor web: indica la duración del uso (en formato horas:minutos:segundos) del servidor web. Esta información sólo está disponible si el servidor web está activo.

  • Conteo de visitas web: indica el número total de peticiones HTTP recibidas desde el arranque del servidor web, así como un número instantáneo de peticiones por segundo (medida tomada entre dos actualizaciones del Explorador de ejecución). Esta información sólo está disponible si el servidor web está activo.

URL para la administración

Las URL de administración del sitio web le permiten controlar el sitio web publicado en su servidor. 4D Web Server acepta cuatro URLs específicas: /4DSTATS, /4DHTMLSTATS, /4DCACHECLEAR y /4DWEBTEST.

/4DSTATS, /4DHTMLSTATS y /4DCACHECLEAR sólo están disponibles para el diseñador y el administrador de la base de datos. Si el sistema de contraseñas 4D no ha sido activado, estas URLs están disponibles para todos los usuarios. /4DWEBTEST está siempre disponible.

/4DSTATS

La URL /4DSTATS devuelve varios elementos de información en una tabla HTML (visualizable en un navegador):

ElementoDescripción
Tamaño actual de la cachéTamaño actual de la caché del servidor web (en bytes)
Tamaño máximo de la cachéTamaño máximo de la caché (en bytes)
Cached Object Max SizeTamaño máximo de cada objeto en la caché (en bytes)
Cache UsePorcentaje de caché utilizado
Cached ObjectsNúmero de objetos encontrados en la caché, incluyendo imágenes

Esta información puede permitirle comprobar el funcionamiento de su servidor y, eventualmente, adaptar los parámetros correspondientes.

El comando WEB GET STATISTICS permite obtener también información sobre cómo se está utilizando la caché de las páginas estáticas.

/4DHTMLSTATS

La URL /4DHTMLSTATS devuelve, también como una HTML, la misma información que la URL /4DSTATS. La diferencia es que el campo Cached Objects sólo cuenta las páginas HTML (sin contar los archivos de imágenes). Además, esta URL devuelve el campo Objetos filtrados.

ElementoDescripción
Tamaño actual de la cachéTamaño actual de la caché del servidor web (en bytes)
Tamaño máximo de la cachéTamaño máximo de la caché (en bytes)
Cached Object Max SizeTamaño máximo de cada objeto en la caché (en bytes)
Cache UsePorcentaje de caché utilizado
Cached ObjectsNúmero de objetos encontrados en la caché, sin imágenes
Objetos filtradosNúmero de objetos en la caché que no se cuentan por URL, en particular, las imágenes

/4DCACHECLEAR

La URL /4DCACHECLEAR elimina inmediatamente las páginas estáticas y las imágenes de la caché. Por tanto, permite "forzar" la actualización de las páginas que han sido modificadas.

/4DWEBTEST

La URL /4DWEBTEST permite verificar el estado del servidor web. Cuando se llama a esta URL, 4D devuelve un archivo texto con los campos HTTP siguientes llenos:

Campo HTTPDescripciónEjemplo
Fechafecha actual en el formato RFC 822Mon, 7 Dec 2020 13:12:50 GMT
Server4D/Número de versión4D/18.5.0 (Build 18R5.257368)
User-Agentnombre y versión @ dirección IP del clienteMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36 @ 127.0.0.1

Logs

4D le permite generar dos historiales de peticiones web:

  • un historial de depuración, útil en la fase de desarrollo del servidor web (HTTPDebugLog.txt),
  • un historial estandarizado de peticiones web, más bien utilizado con fines estadísticos (logweb.txt).

Ambos archivos de historial se crean automáticamente en la carpeta Logs del proyecto de aplicación.

HTTPDebugLog.txt

El archivo de depuracièon http puede activarse vía el objeto web server o el comando WEB FIXER OPTION.

Este archivo de historial registra cada petición HTTP y cada respuesta en modo bruto (raw). Se registran las solicitudes completas, incluidos los encabezados; opcionalmente, también se pueden registrar las partes del cuerpo.

Los siguientes campos se registran tanto para la solicitud como para la respuesta:

Nombre del campoDescripción
SocketIDID del socket utilizado para la comunicación
PeerIPDirección IPv4 del host (cliente)
PeerPortPuerto utilizado por host (cliente)
TimeStampTimestamp en milisegundos (desde el inicio del sistema)
ConnectionIDConexión UUID (UUID del VTCPSocket utilizado para la comunicación)
SequenceNumberNúmero de operación único y secuencial en la sesión de historial

logweb.txt

El archivo de registros de historial web puede activarse vía el objeto web server, el comando WEB SET OPTION, o la página Web/Log (tipo) de las propiedades. Debe seleccionar el formato de historial.

CLF/DLF

Each line of the file represents a request, such as: host rfc931 user [DD/MMM/YYYY:HH:MM:SS] "request" state length Each field is separated by a space and each line ends by the CR/LF sequence (character 13, character 10).

El formato DLF (Combined Log Format) es similar al formato CLF (Common Log Format) y utiliza exactamente la misma estructura. Simplemente añade dos campos HTTP adicionales al final de cada petición: Referer y User-agent. Esta es la descripción de los formatos CLF/DLF (no personalizables):

Nombre del campoDescripción
hostDirección IP del cliente (por ejemplo: "192.100.100.10)
rfc931información no generada por 4D, siempre es - (un signo menos
usernombre de usuario como está autenticado, o - (un signo menos). Si el nombre de usuario contiene espacios, se remplazan por _ (un guión bajo).
DD/MMM/YYYY:HH:MM:SSDD: día, MMM: una abreviatura de 3 letras para el nombre del mes (Jan, Feb,...), YYYY: año, HH: hora, MM: minutos, SS: segundos. La fecha y hora son locales al servidor.
requestsolicitud enviada por el cliente (por ejemplo, GET /index.htm HTTP/1.0
staterespuesta dada por el servidor
lengthtamaño de los datos devueltos (excepto el encabezado HTTP) o 0
RefererSólo DLF- Contiene la URL de la página que apunta al documento solicitado.
User-agentDLF únicamente - Contiene el nombre y la versión del navegador o del software del cliente en el origen de la solicitud

ELF/WLF

El formato ELF (Extended Log Format) está muy extendido en el mundo de los navegadores HTTP. Puede utilizarse para construir historiales sofisticados que respondan a necesidades específicas. Por esta razón, el formato ELF se puede personalizar: es posible elegir los campos que se van a registrar, así como su orden de inserción en el archivo.

El formato WLF (WebStar Log Format) fue desarrollado específicamente para el servidor 4D WebSTAR.

Configurar los campos

Al elegir el formato ELF o WLF, el área "Web Log Token Selection" muestra los campos disponibles para el formato elegido. Deberá seleccionar cada campo para incluirlo en el registro. Para ello, marque los campos deseados.

No puede seleccionar el mismo campo dos veces.

La siguiente tabla enumera los campos disponibles para cada formato (en orden alfabético) y describe su contenido:

CampoELFWLFValor
BYTES_RECEIVEDXNúmero de bytes recibidos por el servidor
BYTES_SENTXXNúmero de bytes enviados por el servidor al cliente
C_DNSXXDirección IP del DNS (ELF: campo idéntico al campo C_IP)
C_IPXXDirección IP del cliente (por ejemplo 192.100.100.10)
CONNECTION_IDXNúmero de identificación de la conexión
CS(COOKIE)XXInformación sobre las cookies contenidas en la petición HTTP
CS(HOST)XXCampo Host de la petición HTTP
CS(REFERER)XXURL de la página que apunta al documento solicitado
CS(USER_AGENT)XXInformación sobre el software y el sistema operativo del cliente
CS_SIPXXDirección IP del servidor
CS_URIXXURI sobre el que se realiza la petición
CS_URI_QUERYXXParámetros de consulta de la petición
CS_URI_STEMXXParte de la solicitud sin los parámetros de la consulta
DATEXXDD: día, MMM: abreviación de 3 letras para el mes (Jan, Feb,...), YYYY: año
METHODXXMétodo HTTP utilizado para la solicitud enviada al servidor
PATH_ARGSXParámetros CGI: cadena situada después del caracter "$"
STATUSXXRespuesta ofrecida por el servidor
TIMEXXHH: hora, MM: minutos, SS: segundos
TRANSFER_TIMEXXTiempo solicitado por el servidor para generar la respuesta
USERXXNombre de usuario si está autenticado; en caso contrario, - (signo menos). Si el nombre de usuario contiene espacios, se sustituyen por _ (subrayado)
URLXURL solicitado por el cliente

Las fechas y horas se indican en GMT.

Frecuencia del backup

Dado que un archivo logweb.txt puede llegar a ser considerablemente grande, es posible establecer un mecanismo de archivo automático. La activación de una copia de seguridad puede basarse en un periodo de tiempo determinado (expresado en horas, días, semanas o meses), o en función del tamaño del archivo; cuando se alcanza el plazo establecido (o el tamaño del archivo), 4D cierra y archiva automáticamente el archivo de registro actual y crea uno nuevo.

Cuando se activa la copia de seguridad del archivo de registro web, el archivo de registro se archiva en una carpeta llamada "Archivos Logweb", que se crea en el mismo nivel que el archivo logweb.txt.

El fichero archivado se renombra según el siguiente ejemplo "DYYY_MM_DD_Thh_mm_ss.txt". For instance, for a file archived on September 4, 2020 at 3:50 p.m. and 7 seconds: “D2020_09_04_T15_50_07.txt.” y 7 segundos: “D2020_09_04_T15_50_07.txt.”

Parámetros de backup

Los parámetros de copia de seguridad automáticadel logweb.txt se definen en la página Web/Log (copia de seguridad) de los parámetros:

Primero debe elegir la frecuencia (días, semanas, etc.) o el criterio de límite de tamaño de los archivos haciendo clic en el botón de opción correspondiente. A continuación, debe especificar el momento preciso de la copia de seguridad si es necesario.

  • Sin copia de seguridad: la función de copia de seguridad programada está desactivada.

  • Cada X hora(s): esta opción se utiliza para programar las copias de seguridad con una base horaria. Puede introducir un valor entre 1 y 24 .

    • a partir de: permite definir la hora de activación de la primera copia de seguridad.
  • Cada X día(s) a las X: esta opción se utiliza para programar las copias de seguridad con una base diaria. Introduzca 1 si desea realizar una copia de seguridad diaria. Cuando esta opción está marcada, debe indicar la hora a la que debe comenzar la copia de seguridad.

  • Cada X semana(s), día a las X: esta opción se utiliza para programar las copias de seguridad con una base semanal. Introduzca 1 si desea realizar una copia de seguridad semanal. Enter 1 if you want to perform a weekly backup. When this option is checked, you must indicate the day(s) of the week and the time when each backup must be started. You can select several days of the week if desired.

  • Cada X mes(es), el día X a las X: esta opción se utiliza para programar las copias de seguridad con una base mensual. Introduzca 1 si desea realizar una copia de seguridad mensual. Enter 1 if you want to perform a monthly backup.

  • Todos los X MB: esta opción se utiliza para programar las copias de seguridad en función del tamaño del archivo de registro actual. Una copia de seguridad se activa automáticamente cuando el archivo alcanza el tamaño especificado. Puedes definir un límite de tamaño de 1, 10, 100 o 1000 MB.