Our self-developed ultra-fast html and style-sheet parsers, enable HtmlSpeed to optimize each and every html or style-sheet document before returning it to the browser.
HTML enables inlining of images java-scripts and style-sheets inside web-pages, and inlining of css-images inside style-sheets.
This technique reduces the number of services (round-trips) that are required for loading and displaying a page.
Browsers can’t separately cache inlined resources. This causes bandwidth and performance problems:
- When a page is updated, all its inlined resources must be retransmitted to the browser as part of the modified page.
Thus, only small resources (under 200 bytes) are usually inlined.
HtmlSpeed solves this problem by the gradually declining inline technique that we have developed. When a browser visits a web-page for the first time, HtmlSpeed performs an aggressive first-visit inlining. When the same browser revisits the same page
after the page has been modified, HtmlSpeed performs a less aggressive second-visit inlining. Inlining vanishes completely during the fourth visit to the same page.
were probably cached by the browser while visiting previous pages.
The gradually declining inline technique enables HtmlSpeed to dramatically reduce the number of services that are needed for loading a page without wasting bandwidth.
few seconds. Trying to bypass this problem by moving java-scripts to the end of the page is likely to introduce bugs, and thus is not recommended.
HtmlSpeed solves this problem by using the content-first optimization technique that we have developed. First an iframe occupying the entire window is displayed above the
The effect of the content-first optimization is a much faster page loading and improved user experience.
Most websites generate customized web pages. When the browser is requested to redisplay a page, the page must be reloaded from the server even when its content hasn’t changed.
HtmlSpeed solves this problem by using a technique for detecting if the customized web-page that is kept by the browser has changed, and if not HtmlSpeed
returns not-modified status to the browser.
Some websites assign small max-age values (or near expiration times) to state-less resources (for example 10 minute expiration-time). Thus, browsers are allowed to cache these resources for short time periods.
HtmlSpeed extends the max-age property of these resources by auto’ versioning their file-names (appending version-codes to the file-names). HtmlSpeed sets the max-age property of these versioned resources to be one year. When the content of any versioned resource is modified, its file-name is also modified (the version-code suffix is replaced).