REST es un patrón útil para la interacción cliente-servidor, pero para escenarios simples configurar una pila HTTP completa es excesiva. Esta gema proporciona una clases para permitir reposo sobre UDP utilizando un protocolo similar a HTTP, así como una aplicación como una aplicación para realizar las solicitudes desde la línea de comandos.
El tamaño de solicitud y respuesta es limitado 512 bytes, por lo que este modelo solo es apropiado para ciertos usos. Obviamente, no es muy bueno para devolver grandes cantidades de datos, sino para enviar comandos a un punto final, o registrar pequeñas cantidades de datos con alta frecuencia.
Hay un servidor REST UDP que se ejecuta en uhttp.reednj.com, puerto 7890.
gem install udp_rest
udp-rest uhttp.reednj.com:7890

Algunas otras URL para probar son:
Use la clase UDPRest::Client para realizar solicitudes programáticamente
UDPRest::Client.get('uhttp://uhttp.reednj.com:7890')
UDPRest::Client.post('uhttp://uhttp.reednj.com:7890')
Use la clase UDPRest::Server para crear servidores simples de estilo Sinatra
UDPRest::Server.new(:port => 7890) do |s|
s.get '/' do
'hello, world!'
end
s.get '/time' do
Time.now.to_s
end
s.get '/echo' do |request|
params['data'].to_s
end
end
La diferencia de rendimiento puede ser bastante significativa al hacer solicitudes con mala latencia, por ejemplo, una solicitud de Australia a los EE. UU. Toma unos 900 ms con HTTP y 300 - 400 ms con UDP_REST.