After countless hours of development and over 3,000 builds, VWS has finally left beta and is now available as a working web server, supporting a variety of different features. Here are some of the key features (as well as some of my favourites):
- HTTPS and TLS support (at last)
- Unix socket support for connecting to PHP FPM
- ZPE PM support from the box
- Easy to write handlers
- Web assets and bundles; /__vws_asset/ and /__vws_bundle/ (more below)
- A control server (vws --control)
- A Let's Encrypt installer
There are caveats to its use currently, however. For example, the Let's Encrypt installer is not perfect and is more Unix-oriented than Windows-oriented.
Now I mentioned vws_assets and vws_bundles. These are among my favourite features in VWS. These are clever little ways of simply including a library and VWS includes many by default. For example, let's just say I want jQuery on my website. I simply include the URL,
/__vws_asset/jquery/
and VWS will provide jQuery. It will have jQuery pre-fetched, since the bundle will be downloaded first.
But bundles are even better. We use them as follows:
/__vws_bundle/jquery,react,vue/
and VWS will combine these into a single file, thereby reducing HTTP requests and maintaining optimal speed. Not only that, but VWS will also keep a cache of these bundles to ensure it can quickly find them again.
