-
"For Consideration: HTTP/2-friendly deployments with HTTP/1.1 support Putting the pieces together, we arrive at a deployment process that does the following: Generates files that contain one or more modules, grouped by likelihood of changing, functionality, or another strategy. The file grouping strategy must persist across builds; new groupings would need a new, unique name that had not been used by earlier builds. Generates legacy files, where those files contain modules that are grouped according to their likelihood to change, and according to whether they are required for initial load. Names all files with a content hash. Generates a manifest for the build, where the manifest includes: a baseUrl property whose value is a string that should be used as the base for generating a full URL to a resource, using the pattern
/ a resources property whose value is an object that, for each file, provides: the most recent changed version a list of individual files which, when any of the files is requested, should trigger a push of the bundle a legacyResources property whose value is an object that, for each legacy bundle, provices: the most recent changed version an optional initialLoad property whose value is true if the resource should be loaded immediately by the scout Generates an HTTP/2 scout file* that provides the ability to load resources, and that loads a manifest. Generates an HTTP/1 scout file* that provides the ability to load resources, and that includes the manifest. Uploads the static resources. Updates a delivery mechanism (such as a server or a CDN) based on the data in the new manifest. The versioning and caching of the resources would be as follows: manifest Unversioned. Short cache time, e.g. 10 minutes, to allow for the rapid uptake of new resources for HTTP/2 browsers. scout Unversioned. Medium cache time, e.g. one day, assuming the contents of this file are considered relatively stable. legacy-scout Unversioned. Short cache time, e.g. 10 minutes, to allow for the rapid uptake of new resources for legacy browsers. application and vendor files Versioned. Long cache time, e.g. one year, given that new versions will be picked up when a new manifest is loaded. * In applications that a) control the initial HTML payload, and b) only use the scout to load other resources, it may not make sense to have a separate scout; it might be sufficient to just load those resources via
Saturday, November 28, 2015
Weekly link roll2 (weekly)
Subscribe to:
Post Comments (Atom)