========= Client-side storage APIs =========

  1. "It should to be noted that, despite being so impactful and ubiquitous, this technology has got its limitations. For example, one of the limits of storing data through HTTP cookies is in the amount of information that can actually be stored. Web browsers tend to limit the size of cookies to a few thousands characters. Contrary to what a few papers in the literature seem to imply, this limitation is not imposed by the specification written by Kristol and Montulli (2009). In fact, that document recommends that user agents should not impose fixed limits to the size and amounts of cookie they support."
  2. "Web browsers, however, not only limit the length of HTTP cookies, but they also apply constraints to their quantity, allowing only a few dozens of them per origin. Several studies can be found online providing an overall view of the limits that different vendors set to HTTP cookies (Manico, 2009; Roberts, 2013)"
  3. "Limiting the size and the amount of HTTP cookies that a web page can set is a reasonable implementation decision, considering the performance implications that come with their usage. Indeed, cookies are not an ideal way of transferring large amounts of data, mainly because they are transmitted through HTTP requests."
  4. "Unlike HTTP cookies, data cannot be sent via HTTP headers. The web storage API is the only way in which a web application can access the data in web storage. "
  5. "In November 2010, the W3C followed suit and announced the decision to abandon the Web SQL Database draft, citing that that “all interested implementers have used the same SQL backend (SQLite)”, and lamenting the lack of multiple independent implementations (Hickson, 2010). Web SQL Database was deprecated in favour of Indexed Database API."
  6. "On the other hand, Indexed Database API allows storing larger amounts of structured data and it provides advanced features such as in-order retrieval of keys and storage of duplicate values for a key"
  7. "An object store is the primary storage mechanism for storing data in a database. It comprises of a list of records and each record consists of a key and a value. Object stores are identified by a name, which is unique in the context of the database."
  8. "Unlike WebSQL Database, IndexedDB is an object-oriented database. The interface for adding and retrieving data does not use SQL queries but keys and indexes instead". Nonetheless, one of the principles that were considered while designing the IndexedDB API, was to allow it to be easily wrapped by JavaScript libraries built on top of it
  9. "The security recommendations for the usage of Indexed Database API are not different to those for Web Storage. The security model of IndexedDB still gravitates around the principles of the same-origin policy". This means that browsers assign a set of databases to each requesting origin , based on a combination of the hostname, the port number and the protocol used by the web application
  10. ""
  11. ""
  12. ""
  13. ""
  14. ""
  15. ""
  16. ""
  17. ""
  18. ""
  19. ""
  20. ""
  21. ""
  22. ""