The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Extending Java for high-level Web service construction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specification and Verification of Web Applications in Rewriting Logic
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Model-checking web applications with web-TLR
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
DNCOCO'10 Proceedings of the 9th WSEAS international conference on Data networks, communications, computers
A rewriting logic approach to the formal specification and verification of web applications
Science of Computer Programming
Hi-index | 0.00 |
Control flow is often key problem in current web applications. For example, using the back button gives a POSTDATA error, using multiple windows books the wrong hotel, and sending a link to a friend does not work. Previous solutions used continuations as a model for user interaction. However continuations are insufficient as a model of all web interactions. We believe the protocol and browsers themselves are insufficiently powerful to represent the control flow desired in a web application. Our solution is to extend the protocol and browser sufficiently that these problems can be avoided. We seek to be agnostic about how web applications are written and instead recognise that many of the problems stem from underlying weaknesses in the protocol. As an example, the application ought to be able to inform the browser that pressing back on a payment confirmation page is not allowed. Instead, the cached page can be displayed in a read-only, archive fashion to the user, or a new page can be shown instead which is consistent with the global state. We discuss how some of these ideas may be implemented within the existing HTTP/1.1 protocol; and what modest extensions to the protocol would enable full implementation. We also discuss the interaction with Web 2.0 and the security and privacy implications of our extensions.