Thanks everyone for the feedback.
What I don’t like is adding a command line parameter or similar just for this, that could be a transient issue (it still adds a ~10% overhead, even after some optimizations). Another option would be adding a parameter (or a WebApplication setting) for configuring the app to be completely headless, for web services.
Some metrics (I’m still working on this):
- 2025r3.1 could handle around 7800 requests/s (WebPage can’t be loaded from HandleURL)
- 2026r1.1 sadly dropped to 3530 requests/s (WebPage can be loaded from HandleURL)
- 2026r2 internal build can handle 10132 requests/s (WebPage can still be loaded from HandleURL, and around 11k requests/s removing the ability to load a WebPage from HandleURL)
Thanks Christian, I’ve double checked and the good news is WebSession objects won’t be sending any cookie back to the browser.
SEO friendly web apps are actually something that is being requested more and more, there are users that just can’t choose Xojo because of it. This thread started with a SEO conversation (which has been derailed a bit). Having to create a WebSession in one specific path in the framework isn’t the end goal, it’s a tradeoff that hopefully could be removed or its impact reduced (which has already been done for r2)
Could you please send me those case numbers or some breadcrumbs to reproduce that issue?
I’m sorry but I have to kindly disagree here. A WebSession has to exist before knowing if the browser can execute JavaScript or not. Part of the long-term SEO goals would be doing some kind of server side rendering for the first page load, then enhance it with JavaScript.