The Ephemeral Interpreter
It’s an ephemeral interpreter whose lifetime is exactly that of the connection it’s monitoring.
For now, the VM “listens” for events in a similar fashion to a web browser’s VM, but using a smaller memory model. But the depth of those events doesn’t have to go overboard, says NGINX Inc.’s marketing head.
“We conceal a lot of that internal complexity from the developer,” he says.
One example he offers involves the opportunity NGINX gets, when it’s processing traffic, to rewrite a request. First, a redirect is sent to a different location. Then the request is modified before it becomes proxied. (With Apache, there’s a way to do this using its .HTAccess configuration files, which NGINX does not support. But historically, infrastructure developers have avoided Apache’s rules handler for its poor performance.)
With nginScript, says Garrett, developers will be able to write sophisticated rewrite rules, each of which may scan large database tables. A logged-in user may have a cookie associated with her. If the cookie exists, the script may want to direct the rewrite request to a different URL than the one reserved for when such a cookie does not exist yet. Perhaps the logged-in user should be redirected to the home page.
“All of these capabilities may be implemented in a very simple fashion using nginScript,” he promises.
“But developers will still need to build the bulk of their applications the way that they always did,” he goes on, “using a separate set of tools. NGINX is the platform underneath that delivers the application, and nginScript allows you to customize and configure that platform in a more flexible and expressive way than you can do now.”