Skip to content
mobius1qwe edited this page Oct 29, 2026 · 11 revisions

Recursos

Home > Recursos

O que o RAL faz, e desde qual versão.

Legenda: ✔ tem · ❔ não testado · 📅 planejado · 2.0 🚧 = em desenvolvimento, ainda não lançado e pode mudar.

Servidor

Recurso Desde Detalhe
Métodos HTTP 1.0 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE; método desconhecido responde 501 (1.2)
HTTP/1.1 1.0 todos os motores
HTTP/2 1.2 servidor mORMot2 no modo smHttpSys (Windows); ver HTTP/2
QUIC 1.2 MsQuic e Kwik, só RAL com RAL (não é HTTP/3); ver QUIC
HTTP/3 📅 planejado
Compressão 1.0 deflate, zlib, gzip; brotli e zstd com pacote à parte
Não comprimir o que já vem comprimido (imagem, zip, pdf...) 1.2
CORS 1.0 fechado por padrão a partir da 1.2
IPv4 / IPv6 1.0 conforme o motor
Tipos MIME 1.0 lista da IANA + a do sistema; AddMIMEType para os seus
Portas 1.0 0 a 65535
Servir site e arquivos (WebModule) 1.0 cache HTTP, faixas de bytes, página índice: 1.2
Banco de dados pela rede (DBWare) 1.0 pool de conexões: 1.1
Documentação Swagger (OpenAPI 3.0) e exportação Postman 1.0 ver Swagger
Plugins (cada recurso é um componente que se liga ao servidor) 2.0 🚧
Módulos de terceiros com pedido e resposta próprios 2.0 🚧
Corpo do pedido e da resposta sem cópias; corpos grandes em disco 2.0 🚧 ver Corpo sem cópias
Limite de requisições processadas ao mesmo tempo 2.0 🚧 ver Desempenho
Serviço SOAP 1.1 e 1.2 com WSDL gerado 2.0 🚧 ver Servidor SOAP
Broker MQTT 3.1.1 e 5.0, gateway MQTT-SN, ponte REST 2.0 🚧 ver Broker MQTT

Segurança

Recurso Desde Detalhe
HTTPS (TLS 1.2 e 2.0) 1.0 conforme o motor; ver HTTPS
Certificado autoassinado gerado e renovado pelo RAL 2.0 🚧 ver Certificado automático
Lista de IPs liberados e bloqueados 1.0
Proteção contra força bruta (senha errada repetida) 1.0 conta só senha recusada a partir da 1.2
Limite de pedidos por IP (flood) 1.0
Bloqueio de ../ no caminho (path traversal) 1.0
Tamanho máximo do pedido 1.1
Validar o SQL que chega pela rede (OnValidateSQL) 1.1
Cabeçalhos de segurança (nosniff, HSTS, CSP...) 1.2
Esconder o texto da exceção num erro 500 1.2
Criptografia ponto a ponto (AES) 1.0 CBC com verificação de integridade: 1.1; chave com PBKDF2: 1.2; ver Criptografia
Cliente aceita só o certificado esperado (pin) 1.1 ver HTTPS no cliente

Checklist para produção: Segurança.

Autenticação

Tipo Desde Padrão
Basic 1.0 RFC 7617
JWT (HS256/384/512) 1.0 RFC 7519; token em cookie: 1.1; RS256/ES256: 2.0 🚧
Digest 2.0 🚧 RFC 7616 (MD5, SHA-256, SHA-512-256)
OAuth2 2.0 🚧 RFC 6749/6750, PKCE, introspecção, JWKS
OAuth 1.0a — removido na 2.0 🚧 (nunca funcionou)

Ver Autenticação.

Criptografia e codificação

Recurso Detalhe
AES 128, 192 e 256 bits, CBC, PKCS#7
Hash MD5, SHA-1, SHA-2 (224, 256, 384, 512, 512/224, 512/256), HMAC
Derivação de chave PBKDF2-HMAC-SHA256 (1.2)
Codificação Base64, Base64url, URL, HTML, hexadecimal

Tipos de aplicação servidora

Tipo
Aplicação com janela (VCL, FMX, LCL) ✔
Aplicação console ✔
Daemon Linux (console) ✔
CGI (atrás do IIS, Apache, nginx) ✔
ISAPI ❔

Ver Colocar no ar.

Rotas

Recurso Desde
Subníveis ilimitados (/api/v1/clientes) 1.0
Parâmetro no caminho (/clientes/:id) 1.0
Métodos permitidos e autenticação por método 1.0
Um procedimento por verbo na mesma rota 1.1
Atalhos Allow([...]) e SkipAuth([...]) 1.2
Verbo não permitido responde 405 com Allow 1.2
Parâmetros de entrada e saída declarados (InputParams, OutputParams) 1.2 (saída)

Ver Rotas e parâmetros.

Cliente

Recurso Desde
Mesmo código para todos os motores (EngineType) 1.0
Vários endereços com troca automática quando um cai 1.0
Chamada que espera a resposta ou em segundo plano 1.0 (esperar virou o padrão na 1.2)
Eventos antes e depois de cada tentativa 1.1
Reaproveitar a conexão entre chamadas 1.2
HTTP/2 e Android (OkHttp, Kwik, MsQuic) 1.2
Cliente SOAP 1.1 e 1.2, importando o WSDL 2.0 🚧
Cliente MQTT 3.1.1 e 5.0 e MQTT-SN 1.2 e 2.0 2.0 🚧

Ver O cliente.

Outros

Recurso
Assistente de novo projeto (Wizard) ✔
Pacotes separados por motor, banco e compressão ✔
Conversão de dataset para JSON (ToJSON, DataSetToJSON) ✔
XML: leitor, documento com API fluente e caminhos (XML) 2.0 🚧
Dataset em XML: DBWare, RAW, DataPacket (ClientDataSet) e ADO (Storage XML) 2.0 🚧
Migração do REST Dataware RESTDW2RAL

Clone this wiki locally