Right HTML, Wrong JSON: Challenges in Replaying Archived Webpages Built with Client-Side Rendering
Many web sites are transitioning how they construct their pages. The conventional model is where the content is embedded server-side in the HTML and returned to the client in an HTTP response. Increasingly, sites are moving to a model where the initial HTTP response contains only an HTML skeleton pl...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Many web sites are transitioning how they construct their pages. The
conventional model is where the content is embedded server-side in the HTML and
returned to the client in an HTTP response. Increasingly, sites are moving to a
model where the initial HTTP response contains only an HTML skeleton plus
JavaScript that makes API calls to a variety of servers for the content
(typically in JSON format), and then builds out the DOM client-side, more
easily allowing for periodically refreshing the content in a page and allowing
dynamic modification of the content. This client-side rendering, now
predominant in social media platforms such as Twitter and Instagram, is also
being adopted by news outlets, such as CNN.com. When conventional web archiving
techniques, such as crawling with Heritrix, are applied to pages that render
their content client-side, the JSON responses can become out of sync with the
HTML page in which it is to be embedded, resulting in temporal violations on
replay. Because the violative JSON is not directly observable in the page
(i.e., in the same manner a violative embedded image is), the temporal
violations can be difficult to detect. We describe how the top level CNN.com
page has used client-side rendering since April 2015 and the impact this has
had on web archives. Between April 24, 2015 and July 21, 2016, we found almost
15,000 mementos with a temporal violation of more than 2 days between the base
CNN.com HTML and the JSON responses used to deliver the content under the main
story. One way to mitigate this problem is to use browser-based crawling
instead of conventional crawlers like Heritrix, but browser-based crawling is
currently much slower than non-browser-based tools such as Heritrix. |
---|---|
DOI: | 10.48550/arxiv.2305.01071 |