HTTP2 push regex/wildcard

Gadgets Mall

Is it possible to push files using http2 using wildcards, something like:

header("Link: </wp-content/java-*.js>; rel=preload; as=script", false);

Where java-1.js. java-2.js etc will be preloaded using the http2 protocol? Or maybe all .js in one folder, such as:

header("Link: </wp-content/cache/wpo-minify/*.js>; as=script; rel=preload", false); //3k

Obviously, the above won't work.

Barry Pollard

The link header method of pushing assets is not part of the HTTP/2 standard and is just a common method used to indicate pushes. You haven’t said which web server you’re using but I’m not aware of any web server that allow wildcards.

So you will need to do this yourself, look up the files in your PHP files, and then add a link header for each file.

However if really advise you think heavily before doing this. HTTP/2 Push has been a bit of a disappointment, rarely has been shown to cause improvements, and is easily overused. You really should only push the bare minimum as push is not free and by using that, you are filling up the network with resources that maybe aren’t the most important. Browsers are very clever about requesting resources in the tight order and push just pushes all over that. Using wildcards seems like the opposite to that.

Push also ignores if the browser already has the file in its cache and just sends it again. There are ways of working around this (e.g. using cookies) but they require some thought and set up, at which point you’re dynamically setting the headers and so can implement the wildcards logic yourself as described above.

Chrome have indicated their intention to remove HTTP/2 push support and never implemented it for HTTP/3.

So it’s difficult to recommend HTTP/2 Push, and especially in pushing multiple resources with a wildcard, such as you are asking to do.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  3. 3

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  4. 4

    pump.io port in URL

  5. 5

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    Do Idle Snowflake Connections Use Cloud Services Credits?

  9. 9

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

  10. 10

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  11. 11

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  12. 12

    Generate random UUIDv4 with Elm

  13. 13

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  14. 14

    Is it possible to Redo commits removed by GitHub Desktop's Undo on a Mac?

  15. 15

    flutter: dropdown item programmatically unselect problem

  16. 16

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  17. 17

    EXCEL: Find sum of values in one column with criteria from other column

  18. 18

    Pandas - check if dataframe has negative value in any column

  19. 19

    How to use merge windows unallocated space into Ubuntu using GParted?

  20. 20

    Make a B+ Tree concurrent thread safe

  21. 21

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

HotTag

Archive