Page MenuHomePhabricator

Question: If we stream the HTML content of pages, is it necessary to deliver references separately?
Closed, ResolvedPublic

Description

Currently, we are having discussions on splitting the references sections from the main content in order to reduce the time to first paint for clients.

This makes sense if we are constructing pages on clients and not streaming page content. This is the current case. It is easy to demonstrate that removing references significantly reduces the size of the payload and reduces the amount of time to first paint in this scenario. See: https://www.mediawiki.org/wiki/Reading/Web/Projects/Performance/Lazy_loading_references

However, if we stream page content and the browser renders that content progressively, does it matter?

Basically, if we package and deliver our content in the way that browsers can handle most efficiently (streaming), then does the point about splitting out references become moot?

Event Timeline

/cc @Jhernandez

How does this apply to the PWA, e.g. are we assuming that we'll stream JSON, transform it, and render it on the client without having considered streaming HTML?

Moot for 2 reasons:

It seems that references, in general, do not add much to the response vs just stripping parsoid markup. see: T168875: Remove reference sections at end of article from page content HTML
We have determined that we want to provide references as structured If possible T170690: Extract a References JSON API. This work is on going. If we determine this can't be done, we will re-open this topic.