Saltar para o conteúdo principal
Versão: 20 R9 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
objeto webServerTemporá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
Caixa de diálogo Configurações (páginas Web)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çõesPágina Opções (I)/Usar o cache 4D Web
Caixa de diálogos de configuraçõesPágina opções (I) /Tamanho de cache das páginas

Ativa e configura a cache da página Web.

O servidor web 4D tem um cache que permite carregar páginas estáticas, imagens GIF, imagens JPEG (<512 kb) e folhas de estilo (arquivos .css) na memória, à medida que forem solicitadas. 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.

Você pode modificar o tamanho da cache na área Tamanho do cache de 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.

Ao usar o banco de dados da Web, você pode verificar o desempenho da cache usando o 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 webServercertificateFolderPropriedade de texto, mas pode ser um objeto 4D.Folder quando usado com o parâmetro settings da função start().

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

Por padrão com o servidor 4D ou 4D, esses arquivos devem ser colocados ao lado da pasta do projeto.

Com 4D em modo remoto, esses arquivos devem estar localizados na pasta de recursos locais do banco de dados na máquina remota (consulte o parágrafo Pasta banco de dados 4D Clientdo comando Get 4D folder). Deve copiar esses arquivos manualmente na máquina remota.

Os arquivos de certificado TLS são key.pem (documento que contém a chave de criptografia privada) e cert.pem (documento que contém o 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çõesPágina Opções (II)/Conjunto padrãoMenu 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 criptogramas

Pode ser definido comNomeComentários
objeto webServercipherSuiteText

Lista de criptogramas 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-..."). Veja a página ciphers no site OpenSSL.

A lista de criptogramas padrão usada por 4D pode ser modificada para a sessão usando o comando SET DATABASE PARAMETER. Nesse caso, a modificação se aplica a todo o aplicativo 4D, incluindo o servidor web, o servidor SQL, as conexões cliente/servidor, bem como o cliente HTTP e todos os comandos 4D que usam o protocolo seguro.

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çõesPágina Opções (II) /Nomes de domínio e métodos HTTP permitidosClique 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

Ativar o serviço CORS

Registro de depuração

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

Status do arquivo de log de solicitação HTTP do servidor web (HTTPDebugLog_nn. xt, armazenado na pasta "Logs" do aplicativo -- nn é o número do arquivo). É ú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 bodyO log de depuração HTTP Web é ativado sem partes do corpo (o tamanho do corpo é fornecido neste caso)
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

Página inicial padrão

Pode ser definido comNomeComentários
objeto webServerdefaultHomepageText
WEB SET HOME PAGEPode ser diferente para cada processo web
Caixa de diálogos de configuraçõesPágina Configuração/Página inicial padrão

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.

  • O caminho é relativo à pasta raiz HTML padrão.
  • 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".

Se você não especificar nenhuma página inicial padrão, o método de banco de dados On Web Connection é chamado. Cabe-lhe a si processar o pedido de forma processual.

Ativar CORS

Pode ser definido comNomeComentários
objeto webServerCORSEnabledBooleano, true para ativar o CORS (false por defeito)
WEB SET OPTIONWeb CORS enabled0 (desativado, padrão) ou 1 (ativado)
Caixa de diálogos de configuraçõesPágina Opções (II)/Ativar 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 obter mais informações sobre o CORS, consulte a página de compartilhamento de recursos entre origens na Wikipédia.

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çõesPágina Configuração/Ativar 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).

Quando HTTPS for habilitado, tenha em mente que se HTTP também estiver habilitado, o navegador ainda pode alternar entre HTTPS e HTTP (por exemplo, na área de URL do navegador, o usuário pode substituir "https" por "http"). Para proibir redirecionamentos http, você pode desabilitar HTTP, no entanto, neste caso, uma mensagem de erro é exibida para solicitações HTTP do 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. O tempo que esta informação é armazenada pelo navegador é especificado com o parâmetro Web HSTS max age.

HSTS requer que HTTPS está habilitado no servidor. HTTP também deve estar habilitado para permitir conexões iniciais do cliente.

Você pode obter o modo de conexão atual usando o 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)

Aviso: dado que o HSTS estiver ativado, as conexões do cliente continuarão a usar este mecanismo para a duração especificada. 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çõesPágina de Configuração/Porta HTTP

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.

No macOS, a modificação da porta HTTP permite iniciar o servidor web 4D sem ser o usuário raiz da máquina (consulte 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".

Aviso: se você usar números de porta TCP diferentes dos números padrão (80 para HTTP padrão e 443 para HTTPS), tome cuidado para não usar números de porta que sejam padrão para outros serviços que você possa querer usar simultaneamente. 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çõesPágina de Configuração/Porta HTTPS

Número da porta IP de escuta para conexões HTTPS via TLS. Por padrão, o valor é 443 (valor padrão). Veja também Porta HTTP para informações sobre números de porta.

Tempo limite do processo inativo

Pode ser definido comNomeComentários
objeto webServerinactiveProcessTimeout
WEB SET OPTIONWeb inactive process timeout
Caixa de diálogos de configuraçõesPágina Opções (I)/Tempo de processo inativoSlider

Duração da vida (em minutos) dos processos inativos associados às sessões legadas. No final do timeout, o processo é terminado no servidor, o método de database On Web Legacy Close Session é chamado, e então o contexto sessão é destruído.

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çõesPágina Configuração/Endereço IPMenu pop-up

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

Por padrão, nenhum endereço específico é definido (valor Todos na caixa de diálogo Propriedades), o que significa que o servidor responde a todos os endereços 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

  • Sem aviso quando a porta TCP estiver ocupada
    Quando o servidor estiver definido para responder em "Qualquer" endereços IP, se a porta TCP estiver sendo usada por outra aplicação, isso não é indicado quando o servidor é iniciado. 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.

  • Endereços IPv6 mapeados
    Para padronizar o processamento, 4D fornece uma representação híbrida padrão de endereços IPv4 em 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.

  • Indicação dos números da porta
    Dado que a notação IPv6 usa dois-pontos (:), adicionar números de portas pode causar alguma confusão, por exemplo:

	2001:0DB8::85a3:0:ac1f:8001 // endereço IPv6
2001:0DB8::85a3:0:ac1f:8001:8081 // endereço IPv6 com a porta 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 //endereço IPv6 com porta 8081

Manter sessão

Pode ser definido comNomeComentários
objeto webServerkeepSession
WEB SET OPTIONWeb keep session
Caixa de diálogos de configuraçõesPágina Opções (I) /Sessões herdadas (sessões de processo único)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çõesPágina Log (type)Menu 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 registro comum - cada linha do arquivo representa uma requisição, tais como: host rfc931 user [DD/MMM/YYYY:HH:MM:SS] "request" state length - Cada campo é separado por um espaço e cada linha termina pela sequência 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

Os formatos 3 e 4 são formatos personalizados, cujo conteúdo deve ser definido antecipadamente na caixa 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çõesPágina Options (I)/Máximo de Processos Web Concorrentes

Limite fortemente alto de processos web simultâneos que podem ser simultaneamente abertos no servidor quando não há sessões ou sessões legadas são usadas (sessões escaláveis suportam número ilimitado de processos preventivos). Esse parâmetro permite evitar a saturação do servidor como resultado de um grande número de solicitações. Quando o número máximo de processos da Web simultâneos (menos um) for alcançado, 4D não cria mais novos processos e envia o status HTTP 503 - Service Inavailable para todas as novas solicitações.

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. Quando uma solicitação atinge este limite, o servidor web 4D rejeita-o.

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 legadas simultâneas. Quando você atingir o limite, a sessão legada mais antiga é fechada (e o método banco de dados On Web Legacy Close Session é chamado) se o servidor web precisa criar um. O número de sessões legadas simultâneas não pode exceder o número máximo de processos da Web (100 por padrão).

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.

A versão TLS mínima usada pelo 4D pode ser modificada para a sessão usando o comando SET DATABASE PARAMETER, neste caso a modificação se aplica a toda aplicação 4D, incluindo o servidor web, o servidor SQL e as conexões cliente/servidor.

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

True 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çõesPágina Opções (I)/Reutilizar contextos temporários

Esta opção só está disponível quando a opção Nenhuma sessão 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.

Quando a opção Reutilizar Contextos Temporários é marcada, no modo remoto 4D mantém os processos web específicos e reutiliza-os para solicitações subsequentes. 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

Certos robôs (motores de consulta, aranhas...) navegar por servidores web e páginas estáticas. 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> ou <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 webServerrootFolderPropriedade de texto, mas pode ser um objeto 4D.Folder quando usado com o parâmetro settings da função start()
WEB SET ROOT FOLDER
Caixa de diálogos de configuraçõesPágina Configuração/raiz HTML padrão

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 padrão, 4D define uma pasta HTML Root chamada 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:

  • com 4D (local) e servidor 4D, no mesmo nível que a pasta do projeto.
  • com 4D em modo remoto, na pasta de recursos locais.

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

  • O caminho é relativo à pasta do projeto (servidor local e 4D) ou à pasta que contém o pacote de software ou aplicativo 4D (4D no 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çõesPágina Opções (I)/sessões escalonáveis (sessões multi-processo)

Habilite sessões extensíveis no servidor web 4D. As sessões do servidor da Web são detalhadas na página Sessões Web.

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

Valor do campo “path” no 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 do atributo 'SameSite' do cookie de sessão. Esse atributo permite declarar se seu cookie deve ser restrito a um contexto de primeiro grupo ou mesmo site, como uma proteção contra ataques de alguma falsificação de requisição entre sites (CSRF).

Para uma descrição detalhada do atributo SameSite, consulte a documentação da Mozilla ou este página web.dev.

Há três valores disponíveis:

  • "Strict" (valor de atributo padrão SameSite para cookies de sessão 4D): os cookies só serão enviados no contexto de primeira, ou seja, no contexto correspondente ao domínio do site atual, e nunca a sites de terceiros.
  • "Lax": 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).

O valor de atributo 'Secure' do cookie de sessão é definido automaticamente como "True" se a conexão for HTTPS (qualquer que seja o valor de atributo 'SameSite').

Não é recomendável definir SameSite=None em um servidor HTTP já que o atributo Secure estará ausente (usado somente em HTTPS) e os cookies serão bloqueados.

Utilizar processos preemptivos

Pode ser definido comNomeComentários
Caixa de diálogos de configuraçõesPágina Opções (I)/Usar processos preventivos

Essa opção ativa o modo preemptivo para o código do servidor Web do seu aplicativo quando a opção No sessions é selecionada (o modo preemptivo é sempre ativado com **sessiones escaláveis **). Quando esta opção é verificada neste contexto o compilador 4D avaliará automaticamente a propriedade de segurança de threads de cada pedaço de código relacionado à web e retornará erros em caso de incompatibilidade.

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.

Permitir acesso ao banco de dados através de URLs 4DSYNC

Essa opção controla o suporte de solicitações de sincronização HTTP que contêm URLs obsoletos /4DSYNC.

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

Esta opção não está disponível no modo de sessões escaláveis (não há validação).

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.

A opção Usar conexões persistentes ativa ou desativa conexões TCP persistentes para o 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 solicitações por conexão: permite definir o número máximo de solicitações e respostas que podem trafegar em uma conexão keep alive. Limitar o número de solicitações por conexão permite que você evite a inundação do servidor devido a um grande número de solicitações recebidas (uma técnica usada por hackers).

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

  • Timeout: esse valor define o período máximo de espera (em segundos) durante o qual o servidor da Web mantém uma conexão TCP aberta sem receber nenhuma solicitação do navegador da Web. Quando este período acabar, o servidor fecha a conexão.

    Se o navegador da web enviar um pedido depois que a conexão for fechada, uma nova conexão TCP será criada automaticamente. Esta operação não é visível para o usuário.