Saltar para o conteúdo principal
Versão: 20 R5 BETA

Configuração

As configurações do servidor web 4D incluem parâmetros de segurança, portas de escuta, caminhos padrão e várias opções que abrangem todos os recursos do servidor. 4D fornece valores padrão para cada configuração.

Onde configurar os parâmetros?

Há diferentes maneiras de configurar as definições do servidor web 4D, dependendo do escopo e do servidor que você deseja definir:

Localização do parâmetroÂmbitoServidor Web a ser usado
webServer objectTemporário (sessão atual)Qualquer servidor Web, incluindo servidores Web de componentes
WEB SET OPTION o comando WEB XXXTemporário (sessão atual)Servidor principal
Settings dialog box (Web pages)Permanente (todas as sessões, armazenadas no disco)Servidor principal

Alguns parâmetros não estão disponíveis em todos os locais.

Cache

Pode ser definido comNomeComentários
Caixa de diálogos de configuraçõesConfiguration page/Use the 4D Web cache
Caixa de diálogos de configuraçõesConfiguration page/Page Cache Size

Ativa e configura a cache da página Web.

El servidor web 4D dispone de una caché que permite cargar las páginas estáticas, las imágenes GIF, las imágenes JPEG (<512 kb) y las hojas de estilo (archivos.css) en memoria, a medida que se solicitan. O uso do cache permite que você aumente significativamente o desempenho do servidor da Web ao enviar páginas estáticas. A cache é partilhada entre todos os processos Web. Quando a cache está ativada, o servidor da Web 4D procura primeiro qualquer página estática solicitada pelo navegador na cache. Se encontrar a página, envia-a imediatamente. Se não, 4D carrega a página do disco e a coloca no cache.

Puede modificar el tamaño de la caché en el área Tamaño de la caché de las páginas. O valor que você define depende do número e do tamanho das páginas estáticas do seu site, bem como dos recursos que as máquinas hospedeiras têm à disposição.

Mientras utiliza su base de datos web, puede verificar el rendimiento de la caché utilizando el comando WEB GET STATISTICS. Se, por exemplo, você notar que a taxa de utilização do cache está próxima a 100%, você pode querer considerar aumentar o tamanho que lhe foi atribuído. As URLs [/4DSTATS] e [/4DHTMLSTATS] permitem que você também obtenha informações sobre o estado do cache.

Pasta de certificados

Pode ser definido comNomeComentários
objeto webServercertificateFolderText property but can be a 4D.Folder object when used with the settings parameter of the start() function.

Pasta onde estão localizados os arquivos de certificado TLS para o servidor web.

Por defecto con 4D o 4D Server, estos archivos deben colocarse junto a la carpeta Project.

Con 4D en modo remoto, estos archivos deben estar ubicados en la carpeta de recursos locales de la base de datos en la máquina remota (ver Carpeta base 4D Client del comando Get 4D folder). Deve copiar esses arquivos manualmente na máquina remota.

Los archivos de certificados TLS son key.pem (documento que contiene la llave de cifrado privada) y cert.pem (documento que contiene el certificado).

Conjunto de caracteres

Pode ser definido comNomeComentários
objeto webServercharacterSetInteger MIBEnum ou string Name
WEB SET OPTIONWeb character setInteger MIBEnum ou string Name
Caixa de diálogos de configuraçõesOptions (II) page/Standard SetMenu pop-up

Define o conjunto de caracteres a serem usados pelo servidor web 4D. O valor padrão realmente depende da linguagem do SO.

Essa configuração também é usada para gerar relatórios rápidos em formato HTML.

Lista de cifras

Pode ser definido comNomeComentários
objeto webServercipherSuiteText

Lista de cifras usada para o protocolo seguro; define a prioridade dos algoritmos de cifra implementados pelo servidor da Web. Pode ser uma sequência de frases separadas por dois pontos (por exemplo, "ECDHE-RSA-AES128-..."). See the ciphers page on the OpenSSL site.

The default cipher list used by 4D can be modified for the session using the SET DATABASE PARAMETER command, in which case the modification applies to the entire 4D application, including the web server, SQL server, client/server connections, as well as the HTTP client and all the 4D commands that make use of the secure protocol.

Parâmetros CORS

Pode ser definido comNomeComentários
objeto webServerCORSSettingsColeção de objetos (lista de hosts e métodos permitidos para o serviço CORS)
WEB SET OPTIONWeb CORS settingsColeção de objetos (lista de hosts e métodos permitidos para o serviço CORS)
Caixa de diálogos de configuraçõesOptions (II) page/Domain names and HTTP methods allowedClique no botão [+] para adicionar um nome de domínio permitido e seu método (s)

Lista de hosts e métodos permitidos para o serviço CORS.

Nomes de domínio

Nome de domínio ou endereço IP de onde as páginas externas têm permissão para enviar solicitações de dados ao servidor via CORS. Vários atributos de domínio podem ser adicionados para criar uma lista branca. Várias sintaxes são suportadas:

Métodos HTTP autorizados (propriedade methods)

Método(s) HTTP aceite(s) para o host CORS correspondente. São suportados os seguintes métodos HTTP:

  • GET
  • HEAD
  • POST
  • PUT
  • DELETE
  • OPTIONS
  • TRACE
  • PATCH

Separar cada método com um ";" (por exemplo: "post;get"). Se methods estiver vazio, null ou indefinido, todos os métodos serão ativados.

Veja também

Enable CORS Service

Debug log

Pode ser definido comNomeComentários
objeto webServerdebugLognumber
WEB SET OPTIONWeb debug lognumber

Status of the HTTP request log file of the web server (HTTPDebugLog_nn.txt, stored in the "Logs" folder of the application -- nn is the file number). É útil para a depuração de problemas relacionados com o servidor Web. Regista cada pedido e cada resposta em modo bruto. Petições inteiras, incluindo cabeçalhos, são registradas; opcionalmente, partes do corpo podem ser registradas também.

ValorParâmetrosDescrição
0wdl disableOs debug logs Web HTTP são desativados
1wdl enable without bodyDefault is true (enabled).
3wdl enable with response bodyO log de depuração HTTP da Web está ativado com parte do corpo apenas em resposta
5wdl enable with request bodyWeb HTTP debug log está ativado com a parte do corpo apenas no pedido
7wdl enable with all body partsO log de depuração HTTP da Web está ativado com parte do corpo apenas em resposta

Defaut Home page

Pode ser definido comNomeComentários
objeto webServerdefaultHomepageText
WEB SET HOME PAGEPode ser diferente para cada processo web
Caixa de diálogos de configuraçõesConfiguration page/Default Home Page

Designar uma página inicial padrão para o servidor Web. Esta página pode ser estática ou [semi-dynamic].

Por padrão, quando o servidor web é iniciado pela primeira vez, 4D cria uma página inicial chamada "index.html" e a coloca na pasta raiz HTML. Se você não modificar essa configuração, qualquer navegador que se conectar ao servidor da Web obterá a seguinte página:

Você pode designar outra página inicial padrão inserindo seu nome de caminho.

  • La ruta es relativa a la carpeta HTML raíz ,.
  • O caminho é expresso com a sintaxe POSIX (pastas são separadas por uma barra ("/"))
  • O caminho não deve começar nem terminar com uma barra.

Por exemplo, se você quiser que a página inicial padrão seja "MyHome. tm", e está localizado na pasta "Web" (ela própria localizada na pasta raiz padrão HTML), use "Web/MyHome.htm".

Si no se especifica ninguna página de inicio por defecto, se llama al método base On Web Connection. Cabe-lhe a si processar o pedido de forma processual.

Activar CORS

Pode ser definido comNomeComentários
objeto webServerCORSEnabledBooleano, true para ativar o CORS (false por padrão)
WEB SET OPTIONWeb CORS enabled0 (desativado, padrão) ou 1 (ativado)
Caixa de diálogos de configuraçõesOptions (II) page/Enable CORSNão seleccionado por defeito

O servidor web 4D implementa o compartilhamento de recursos entre origens (CORS) para permitir que páginas web específicas servidas de outro domínio acessem os recursos do aplicativo web atual por meio de chamadas XHR, por exemplo, usando REST. Por razões de segurança, solicitações de "cross-domain" são proibidas no nível do navegador por padrão. Quando ativado, chamadas XHR (por exemplo, Solicitações REST) de páginas da Web fora do domínio podem ser permitidas na sua aplicação (você precisa definir a lista de endereços permitidos na lista de domínio CORS, veja as configurações do CORS abaixo). Neste caso, se um domínio ou método não permitido enviar uma solicitação de um site cruzado, será rejeitado com uma resposta de erro "403 - proibida".

Quando desativado (padrão), todas as solicitações de cruzamento de sites enviadas com CORS são ignoradas.

Para más información sobre CORS, consulte la página Cross-origin resource sharing page en Wikipedia.

Veja também

CORS Settings

Ativar HTTP

Pode ser definido comNomeComentários
objeto webServerHTTPEnabledboolean
WEB SET OPTIONWeb HTTP enabled
Caixa de diálogos de configuraçõesConfiguration page/Enable HTTP

Indica se o servidor da Web aceitará ou não conexões não seguras.

Ativar HTTPS

Pode ser definido comNomeComentários
objeto webServerHTTPSEnabledboolean
WEB SET OPTIONWeb HTTPS enabled
Caixa de diálogos de configuraçõesPágina configuração/Habilitar HTTPS

Estado da comunicação por HTTPS. Esta opción se describe en esta sección.

Ativar HSTS

Pode ser definido comNomeComentários
objeto webServerHSTSEnabledBooleano, true para ativar HSTS (por padrão é false)
WEB SET OPTIONWeb HSTS enabled0 (desativado, padrão) ou 1 (ativado)

Estado do HTTP Strict Transport Security (HSTS).

Cuando HTTPS está activado, recuerde que si HTTP está también activado, el navegador puede cambiar entre HTTPS y HTTP (por ejemplo, en la zona de la URL del navegador, el usuario puede sustituir "https" por "http"). Para prohibir las redirecciones http, puede desactivar el HTTP, sin embargo en este caso se muestra un mensaje de error a las peticiones HTTP del cliente.

O HSTS permite que o servidor web 4D declare que os navegadores só devem interagir com ele por meio de conexões HTTPS seguras. Uma vez ativado, o servidor 4D da web irá adicionar automaticamente informações relacionadas ao HSTS em todos os cabeçalhos de resposta. Navegadores gravarão as informações de HSTS na primeira vez que receberem uma resposta do servidor da web 4D, então quaisquer futuras solicitações HTTP serão automaticamente transformadas em solicitações HTTPS. El tiempo que esta información es almacenada por el navegador se especifica con el parámetro web HSTS max age.

HSTS requiere que HTTPS esté activado en el servidor. El HTTP también debe estar activado para permitir las conexiones iniciales del cliente.

Puede obtener el modo de conexión actual utilizando el comando WEB Is secured connection.

HSTS Max Age

Pode ser definido comNomeComentários
objeto webServerHSTSMaxAgenúmero em segundos
WEB SET OPTIONWeb HSTS max agenúmero em segundos

Especifica o tempo máximo (em segundos) em que o HSTS fica ativo para cada nova conexão de cliente. Esta informação é armazenada no lado do Cliente durante a duração especificada. O valor padrão é 63072000 (2 anos)

Atención: una vez activado HSTS, las conexiones de los clientes seguirán utilizando este mecanismo durante el tiempo especificado. Quando estiver testando seus aplicativos, é recomendável definir uma curta duração para poder alternar entre os modos de conexão segura e não segura, se necessário.

Web HTTP compression level

Pode ser definido comNomeComentários
objeto webServerHTTPCompressionLevel
WEB SET OPTIONWeb HTTP compression levelAplica-se à Web e ao Serviço Web

Nível de compactação para todas as trocas HTTP compactadas para o servidor da Web 4D (solicitações do cliente ou respostas do servidor). Esta configuração permite otimizar as trocas pela velocidade de execução (menos compressão) ou pela compressão (menos velocidade). A escolha de um valor depende do tamanho e do tipo de dados trocados.

Passe de 1 a 9 como valor onde 1 é a compressão mais rápida e 9 mais alta. Pode também passar de -1 para obter um compromisso entre a velocidade e a taxa de compressão. Por padrão, o nível de compressão é 1 (compressão mais rápida).

Limite de compressão HTTP

Pode ser definido comNomeComentários
objeto webServerHTTPCompressionThreshold
WEB SET OPTIONWeb HTTP compression threshold

Na estrutura das trocas HTTP otimizadas, o limite de tamanho das solicitações abaixo do qual as trocas não devem ser compactadas. Essa configuração é útil para evitar perder o tempo da máquina ao comprimir pequenas trocas.

Passa o tamanho expresso em bytes como valor. Por defeito, o limite de compressão é definido para 1024 bytes.

Porta HTTP

Pode ser definido comNomeComentários
objeto webServerHTTPPortnumber
WEB SET OPTIONWeb port ID
Caixa de diálogos de configuraçõesConfiguration page/HTTP Port

Número da porta IP (TCP) de escuta para HTTP. Por padrão, 4D publica uma aplicação web na porta Web HTTP normal (porta TCP), que é a porta 80. Se essa porta já for usada por outro serviço da web, você precisa alterar a porta HTTP usada pelo 4D para esse banco de dados.

En macOS, la modificación del puerto HTTP permite iniciar el servidor web 4D sin ser el usuario raíz de la máquina (ver macOS HelperTool).

Em um navegador da Web, é necessário incluir o número da porta HTTP não padrão no endereço inserido para se conectar ao aplicativo da Web. O endereço deve ter um sufixo constituído por dois pontos seguidos pelo número do porto. Por exemplo, se você estiver usando a porta HTTP número 8080, você irá especificar "123.4.567.89:8080".

Atención: si utiliza números de puerto TCP distintos a los predeterminados (80 para HTTP estándar y 443 para HTTPS), tenga cuidado de no utilizar números de puerto que sean predeterminados para otros servicios que pueda querer utilizar simultáneamente Por exemplo, se você também planeja usar o protocolo FTP em seu servidor web, não use a porta TCP 20 e 21, que são as portas padrão para esse protocolo. Os números de portas abaixo de 256 são reservados para serviços conhecidos e números de portas de 256 a 1024 são reservados para serviços específicos originários das plataformas UNIX. Para segurança máxima, especifique o número de portas para além destes intervalos (por exemplo, nos anos 2000 ou 3000).

Se especificar 0, 4D usará o número de porta HTTP 80 por padrão.

HTTP Trace

Pode ser definido comNomeComentários
objeto webServerHTTPTraceBoolean, padrão = false
WEB SET OPTIONWeb HTTP TRACEInteger, 0 por padrão (desativado)

Ativação do método HTTP TRACE no servidor web 4D. Por motivos de segurança, por padrão o servidor 4D web rejeita solicitações HTTP TRACE com um erro 405. Se necessário, você pode habilitar o método HTTP TRACE, nesse caso o servidor Web 4D responde a solicitações HTTP TRACE com a linha, cabeçalho e corpo do pedido.

Porta HTTPS

Pode ser definido comNomeComentários
objeto webServerHTTPSPortnumber
WEB SET OPTIONWeb HTTPS port ID
Caixa de diálogos de configuraçõesConfiguration page/HTTPS Port

Número da porta IP de escuta para conexões HTTPS via TLS. Por padrão, o valor é 443 (valor padrão). Ver también HTTP Port para obtener información sobre los números de puerto.

Tempo limite do processo inativo

Pode ser definido comNomeComentários
objeto webServerinactiveProcessTimeout
WEB SET OPTIONWeb inactive process timeout
Caixa de diálogos de configuraçõesOptions (I) page/Inactive Process TimeoutSlider

Duração da vida (em minutos) dos processos inativos associados às sessões. Al final del tiempo de espera, el proceso se mata en el servidor, se llama al método base On Web Close Process y se destruye el contexto de sesión.

Padrão: 480 minutos (passe 0 para repor o valor predefinido)

Tempo limite da sessão inativa

Pode ser definido comNomeComentários
objeto webServerinactiveSessionTimeout
WEB SET OPTIONWeb inactive session timeout

Duração da vida (em minutos) das sessões inativas (duração definida na cookie). No final do período, o cookie da sessão expira e não é mais enviada pelo cliente HTTP.

Padrão: 480 minutos (passe 0 para repor o valor predefinido)

Endereço IP de escuta

Pode ser definido comNomeComentários
objeto webServerIPAddressToListen
WEB SET OPTIONWeb IP address to listen
Caixa de diálogos de configuraçõesConfiguration page/IP AddressMenu pop-up

Sequências de endereços IP nas quais o servidor web 4D receberá solicitações HTTP (4D local e servidor 4D).

Por defecto, no se define ninguna dirección específica (valor ninguno en la caja de diálogo Parámetros), lo que significa que el servidor responde a todas las direcciones IP. Quando você nomeia um endereço específico, o servidor responde apenas às solicitações enviadas para este endereço. Essa função é projetada para servidores web 4D localizados em máquinas com vários endereços TCP/IP. É, por exemplo, frequentemente o caso da maioria dos fornecedores de alojamento.

Valores possíveis: Cadeia de endereços IP. Ambos os formatos de string IPv6 (por exemplo, "2001:0db8:0000:0000:ff00:0042:8329") e formatos de string IPv4 (por exemplo, "123.45.67.89") são suportados.

Acerca do suporte IPv6

  • No warning when TCP port is occupied
    When the server is set to respond on "Any" IP addresses, if the TCP port is being used by another application, this is not indicated when the server is started. Na verdade, o servidor 4D não detecta nenhum erro neste caso porque a porta permanece gratuita no endereço IPv6. No entanto, não é possível acessá-lo usando o endereço IPv4 da máquina, nem através do endereço local: 127.0.0.1.

Se o seu servidor 4D não parecer responder na porta definida, pode testar o endereço [::1] na máquina do servidor (equivalente a 127.0.0.1 para IPv6, adicionar [:portNum] para testar outro número de porta). Se 4D responder, é provável que outro aplicativo esteja usando a porta em IPv4.

  • IPv4-mapped IPv6 addresses
    To standardize processing, 4D provides a standard hybrid representation of IPv4 addresses in IPv6. Esses endereços são escritos com um prefixo de 96 bits no formato IPv6, seguido de 32 bits escritos na notação ponto-decimal do IPv4. Por exemplo, ::ffff:192.168.2.34 representa o endereço IPv4 192.168.2.34.

  • Indication of port numbers
    Since IPv6 notation uses colons (:), adding port numbers may lead to some confusion, for example:

    2001:0DB8::85a3:0:ac1f:8001 // IPv6 address
2001:0DB8::85a3:0:ac1f:8001:8081 // IPv6 address with port 8081

Para evitar essa confusão, recomendamos usar a notação [ ] sempre que você combinar um endereço IPv6 com um número de porta, por exemplo:

    [2001:0DB8::85a3:0:ac1f:8001]:8081 //IPv6 address with port 8081

Manter sessão

Pode ser definido comNomeComentários
objeto webServerkeepSession
WEB SET OPTIONWeb keep session
Caixa de diálogos de configuraçõesOptions (I) page/Legacy sessions (single process sessions)somente nos projetos convertidos

Estado do gerenciamento de sessão antigo para o servidor Web 4D (obsoleto).

Quando essa opção estiver marcada, a opção "Reuse Temporary Contexts" (Reutilizar contextos temporários) é automaticamente marcada (e bloqueada).

Log Recording

Pode ser definido comNomeComentários
objeto webServerlogRecording
WEB SET OPTIONWeb log recording
Caixa de diálogos de configuraçõesLog (type) pageMenu pop-up

Inicia o detiene el registro de las peticiones recibidas por el servidor web 4D en el archivo logweb.txt y define su formato. Por padrão, os pedidos não são registados (0/No Log File). Cuando se activa, el archivo logweb.txt se coloca automáticamente en la carpeta Logs.

Esta configuração permite que você selecione o formato deste arquivo. Os valores disponíveis são:

ValorNome do formatoDescrição
0Nenhum arquivo de registroPor padrão
1Registo em formato CLFFormato de historial común - Cada línea del archivo representa una petición, como:host rfc931 user [DD/MMM/YYYY:HH:MM:SS] "request" state length - Cada campo está separado por un espacio y cada línea termina con la secuencia CR/LF.
2Registo em formato DLFFormato de Log Combinado - Similar ao formato CLF, mas adiciona dois campos HTTP adicionais no final de cada solicitação: Referer e User-agent.
3Registo em formato ELFExtended Log Format - A ser personalizado na caixa de diálogo das Propriedades
4Registo em formato WLFWebStar Log Format - Para ser personalizado na caixa de diálogo Propriedades

Los formatos 3 y 4 son formatos personalizados cuyo contenido debe establecerse previamente en la caja de diálogo Parámetros. Se você usar um destes formatos sem que nenhum dos seus campos tenha sido selecionado nesta página, o arquivo de log não será gerado.

Processos Web em simultâneo máximo

Pode ser definido comNomeComentários
objeto webServermaxConcurrentProcesses
WEB SET OPTIONWeb max concurrent processes
Caixa de diálogos de configuraçõesOptions (I) page/Maximum Concurrent Web Processes

Límite estrictamente superior de procesos web concurrentes que pueden estar abiertos simultáneamente en el servidor cuando no sessions o legacy sessions están siendo utilizados (scalable sessions soporta un número ilimitado de p Esse parâmetro permite evitar a saturação do servidor como resultado de um grande número de solicitações. Cuando se alcanza el número máximo de procesos web concurrentes (menos uno), 4D deja de crear nuevos procesos y envía el estado HTTP 503 - Servicio no disponible a todas las nuevas peticiones.

Por padrão, o valor é 100. Pode definir o número entre 10 e 32000.

Tamanho máximo do pedido

Pode ser definido comNomeComentários
objeto webServermaxRequestSize
WEB SET OPTIONWeb maximum requests size

Tamanho máximo (em bytes) das solicitações HTTP de entrada (POST) que o servidor web está autorizado a processar. Por padrão, o valor é 2 000 000, ou seja, um pouco menos de 2 MB. Passar o valor máximo (2 147 483 648) significa que, na prática, nenhum limite é definido.

Este limite é utilizado para evitar a saturação do servidor web devido a pedidos recebidos demasiado grandes. Este limite é utilizado para evitar a saturação do servidor web devido a pedidos recebidos demasiado grandes.

Valores possíveis: 500 000 a 2 147 483 648.

Número máximo de sessões

Pode ser definido comNomeComentários
objeto webServermaxSessions
WEB SET OPTIONWeb max sessions

Número máximo de sessões simultâneas. Cuando se alcanza el límite definido, se cierra la sesión más antigua (y se llama al método base On Web Close Process) si el servidor web necesita crear una nueva. El número de sesiones simultáneas no puede superar el número máximo de procesos web (100 por defecto).

Valor padrão: 100 (passe 0 para restaurar o valor padrão).

Versão TLS mínima

Pode ser definido comNomeComentários
objeto webServerminTLSVersionnumber

Versão mínima de TLS aceita para ligações. As tentativas de ligação de clientes que suportam apenas versões abaixo do mínimo serão rejeitadas.

Valores possíveis:

  • 1 = TLSv1_0
  • 2 = TLSv1_1
  • 3 = TLSv1_2 (padrão)
  • 4 = TLSv1_3

Se modificado, o servidor deve ser reiniciado para utilizar o novo valor.

La versión TLS mínima utilizada por 4D puede ser modificada para la sesión utilizando el comando SET DATABASE PARAMETER, en cuyo caso la modificación se aplica a toda la aplicación 4D, incluyendo el servidor web, el servidor SQL y las conexiones cliente

Nome

Pode ser definido comNomeComentários
objeto webServername

Nome da aplicação do servidor web. Útil quando são iniciados servidores Web de componentes.

Versão OpenSSL

Pode ser definido comNomeComentários
objeto webServeropenSSLVersionSomente leitura

Versão da biblioteca OpenSSL utilizada.

Perfect Forward Secrecy

Pode ser definido comNomeComentários
objeto webServerperfectForwardSecrecyBooleano, só de leitura

Verdadero si PFS está disponible en el servidor web (ver la sección TLS).

Reutilizar contextos temporários (em modo remoto)

Pode ser definido comNomeComentários
Caixa de diálogos de configuraçõesOptions (I) page/Maximum Concurrent Web Processes

Esta opción sólo está disponible cuando la opción Sin sesiones está marcada.

Permite otimizar a operação do 4D Web Server no modo remoto, reutilizando processos da Web criados para processar solicitações anteriores da Web. De fato, o servidor web em 4D precisa de um processo web específico para lidar com cada solicitação web; no modo remoto, quando necessário, esse processo se conecta à máquina 4D Server para acessar os dados e o mecanismo de banco de dados. Assim, ele gera um contexto temporário usando suas próprias variáveis, seleções, etc. Quando o pedido tiver sido tratado, este processo é encerrado.

Cuando la opción Reutilizar los contextos temporales está seleccionada, en modo remoto, 4D mantiene los procesos web específicos y los reutiliza para las siguientes peticiones. Removendo o estágio de criação do processo, o desempenho do servidor web é melhorado.

Em troca, você deve se certificar neste caso de inicializar sistematicamente as variáveis usadas em métodos 4D para evitar obter resultados incorretos. Da mesma forma, é necessário apagar quaisquer seleções ou registros atuais definidos durante a solicitação anterior.

Esta opção só tem um efeito com um servidor web 4D em modo remoto. Com um 4D em modo local, todos os processos da Web (exceto os processos de sessão) são eliminados após seu uso.

Robots.txt

Certain robots (query engines, spiders...) scroll through web servers and static pages. Se não quiser que os robôs acessem todo o seu site, você pode definir quais URLs eles não podem acessar.

Para isso, coloque o arquivo ROBOTS.TXT na raiz do servidor. Este ficheiro deve ser estruturado da seguinte forma:

   User-Agent: <name>
Disallow: <URL> or <beginning of the URL>

Por exemplo:

   User-Agent: *
Disallow: /4D
Disallow: /%23%23
Disallow: /GIFS/
  • "User-Agent: *" - todos os robôs são afetados.
  • "Disallow: /4D" - os robôs não têm permissão para acessar URLs que começam com /4D.
  • "Disallow: /%23%23" - os robôs não têm permissão para acessar URLs que começam com /%23%23.
  • "Disallow: /GIFS/' - os robôs não têm permissão para acessar a pasta /GIFS/ ou suas subpastas.

Outro exemplo

   User-Agent: *
Disallow: /

Neste caso, os robots não estão autorizados a aceder a todo o sítio.

Pasta raiz

Pode ser definido comNomeComentários
objeto webServerrootFolderText property but can be a 4D.Folder object when used with the settings parameter of the start() function
WEB SET ROOT FOLDER
Caixa de diálogos de configuraçõesConfiguration page/Default HTML Root

Caminho da pasta raiz do servidor web, ou seja, a pasta na qual 4D procurará as páginas HTML estáticas e semidinâmicas, imagens, etc., para enviar aos navegadores. O caminho é formatado no caminho completo POSIX. O servidor da Web precisará ser reiniciado para que a nova pasta raiz seja levada em consideração.

Além disso, a pasta raiz do HTML define, no disco rígido do servidor da Web, o nível hierárquico acima do qual os arquivos não poderão ser acessados. Se um URL solicitado ou um comando 4D tentar acessar um arquivo localizado acima da pasta raiz HTML, será retornado um erro indicando que o arquivo não foi encontrado.

Por defecto, 4D define una carpeta raíz HTML llamada WebFolder. Se ela ainda não existir, a pasta raiz HTML será fisicamente criada no disco no momento em que o servidor Web for iniciado pela primeira vez. A pasta raiz é criada:

  • con 4D (local) y 4D Server, en el mismo nivel de la carpeta del proyecto.
  • com 4D em modo remoto, na pasta de recursos locais.

Você pode designar outra pasta raiz HTML padrão inserindo seu caminho.

  • La ruta es relativa a la carpeta del proyecto (4D local y 4D Server) o a la carpeta que contiene la aplicación 4D o el paquete de software (4D en modo remoto).
  • O caminho é expresso com a sintaxe POSIX (pastas são separadas por uma barra ("/"))
  • Para "subir" um nível na hierarquia de pastas, digite "..." (dois pontos) antes do nome da pasta
  • O caminho não deve começar com uma barra (exceto se você quiser que a pasta raiz HTML seja a pasta remota Project ou 4D, mas que o acesso às pastas acima seja proibido; nesse caso, você pode passar "/" como a pasta raiz).

Por exemplo, se você quiser que a pasta raiz HTML seja a subpasta "Web" na pasta "MyWebApp", digite "MyWebApp/Web".

Quando a pasta raiz do HTML é modificada, o cache é limpo para não armazenar arquivos cujo acesso é restrito.

Sessões escaláveis

Pode ser definido comNomeComentários
objeto webServerscalableSession
WEB SET OPTIONSessão escalável Web
Caixa de diálogos de configuraçõesOptions (I) page/Scalable sessions (multi-process sessions)

Session management enabling status for the 4D web server. Las sesiones del servidor web se detallan en la página Sesiones de usuario.

Pode ser definido comNomeComentários
objeto webServersessionCookieDomain
WEB SET OPTIONWeb session cookie domain

Valor do campo "domain" do cookie de sessão. Útil para controlar o âmbito dos cookies de sessão. Se definir, por exemplo, o valor "/*.4d.fr" para este selector, o cliente só enviará um cookie quando o pedido for dirigido ao domínio ".4d.fr", o que exclui os servidores que hospedam dados estáticos externos.

Pode ser definido comNomeComentários
objeto webServersessionCookieName
WEB SET OPTIONWeb session cookie name

Nome do cookie utilizado para guardar o ID da sessão. Predefinição = "4DSID".

Pode ser definido comNomeComentários
objeto webServersessionCookiePath
WEB SET OPTIONWeb session cookie path

campo "caminho" do cookie da sessão. Utilizado para controlar o alcance dos cookies da sessão. Se definir, por exemplo, o valor "/4DACTION" para este selector, o cliente só enviará um cookie para pedidos dinâmicos que comecem por 4DACTION, e não para imagens, páginas estáticas, etc.

Pode ser definido comNomeComentários
objeto webServersessionCookieSameSite

Valor del atributo SameSite de la cookie de sesión. Este atributo le permite declarar si su cookie debe estar restringida a un contexto de primera parte o del mismo sitio, como una protección contra ciertos ataques CSRF (cross-site request forgery).

Para una descripción detallada del atributo SameSite, consulte la documentación de Mozilla o esta página web.dev.

Há três valores disponíveis:

  • "Estricto" (valor predeterminado del atributo SameSite para las cookies de sesión de 4D): las cookies sólo se enviarán en el contexto de primera parte, es decir, el contexto correspondiente al dominio del sitio y nunca a sitios web de terceros.
  • "Laxos": Os cookies não são enviados em solicitações entre sites (por exemplo, para carregar imagens ou quadros em um site de terceiros), mas são enviados quando um usuário está navegando para o site de origem (ou seja, ele segue um link).
  • "None": Cookies são enviados em todos os contextos, ou seja, nas respostas para solicitações de primeira e de cruzada de origem. Cuando se utiliza el valor "None", el atributo cookie Secure también debe ser definido (o la cookie será bloqueada).

El valor del atributo Secure de la cookie de sesión se define automáticamente en "True" si la conexión es HTTPS (sea cual sea el valor del atributo SameSite).

No se recomienda definir SameSite=None en un servidor HTTP ya que faltará el atributo Secure (utilizado sólo en HTTPS) y se bloquearán las cookies.

Utilizar processos preemptivos

Pode ser definido comNomeComentários
Caixa de diálogos de configuraçõesOptions (I) page/Maximum Concurrent Web Processes

Esta opción activa el modo apropiativo para el código del servidor web de su aplicación cuando se selecciona la opción Sin sesiones (el modo apropiativo siempre está activado con sesiones escalables). Cuando esta opción está marcada en este contexto, el compilador 4D evaluará automáticamente la propiedad hilo seguro de cada pieza de código relacionado con la web y devolverá errores en caso de incompatibi

Parâmetros obsoletos

As configurações a seguir ainda são compatíveis, mas dependem de recursos ou tecnologias obsoletos. Em geral, é recomendável manter os valores padrão.

Allow database Access through 4DSYNC URLs

Esta opción controla el soporte de las peticiones de sincronización HTTP que contienen las URLs obsoletas /4DSYNC.

Validação do endereço IP da sessão

Esta opción no está disponible en modo sesiones evolutivas (no hay validación).

Estado de validação de endereço IP para cookies de sessão. Por motivos de segurança por padrão o servidor web 4D verifica o endereço IP de cada solicitação contendo um cookie de sessão e rejeita-o se este endereço não corresponde ao endereço IP usado para criar o cookie. Em algumas aplicações específicas, poderá querer desactivar esta validação e aceitar cookies de sessão, mesmo quando os seus endereços IP não correspondem. Por exemplo, quando os dispositivos móveis mudam entre redes Wi-Fi e 4G/5G, seu endereço IP será alterado. Neste caso, você deve passar 0 nesta opção para permitir que os clientes possam continuar usando suas sessões da Web, mesmo quando o endereço IP mudar. Observe que essa configuração reduz o nível de segurança de seu aplicativo. Quando é modificado, essa configuração é eficaz imediatamente (não é necessário reiniciar o servidor HTTP).

Enviar diretamente caracteres expandidos

Quando essa opção está marcada, o servidor da Web envia caracteres estendidos "como estão" em páginas semidinâmicas, sem convertê-los em entidades HTML. Essa opção mostrou um aumento de velocidade na maioria dos sistemas operacionais estrangeiros (especialmente o sistema japonês).

Ligações Keep-Alive

O servidor web 4D pode usar conexões persistentes. A opção keep-alive permite que você mantenha uma única conexão TCP aberta para o conjunto de trocas entre o navegador da Web e o servidor para economizar recursos do sistema e otimizar as transferências.

La opción Utilizar las conexiones persistentes activa o desactiva las conexiones TCP persistentes para el servidor web. Esta opção está activada por padrão. Na maioria dos casos, é recomendável manter essa opção marcada, pois ela acelera as trocas. Se o navegador da Web não suportar a conexão keep alive, o 4D Web Server mudará automaticamente para HTTP/1.0.

A função keep-alive do 4D Web Server diz respeito a todas as conexões TCP/IP (HTTP, HTTPS). Observe, entretanto, que as conexões keep-alive nem sempre são usadas para todos os processos da Web 4D.

Em alguns casos, outras funções internas otimizadas podem ser invocadas. As ligações persistentes são úteis principalmente para páginas estáticas.

Duas opções permitem que você defina como funcionam as conexões persistentes:

  • Número de peticiones por conexión: permite definir el número máximo de peticiones y de respuestas capaces de viajar por una conexión persistente. Limiting the number of requests per connection allows you to prevent server flooding due to a large number of incoming requests (a technique used by hackers).

    The default value (100) can be increased or decreased depending on the resources of the machine hosting the 4D Web Server.

  • Tiempo de espera antes de desconexión: este valor define el periodo máximo de espera (en segundos) durante el cual el servidor web mantiene una conexión TCP abierta sin recibir ninguna petición del navegador web. Once this period is over, the server closes the connection.

    If the web browser sends a request after the connection is closed, a new TCP connection is automatically created. This operation is not visible for the user.