github / github/pages-gem

Serving SQLite database files with sql.js-httpvfs broken due to gzip encoding on HEAD requests

Aperta
#952 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Ruby
Stelle
1.9k
Fork
360
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I have been using GitHub Pages to serve SQLite database files for a client-side app with sql.js-httpvfs, which requires HTTP Range requests to read parts of the database file.

Until recently, this setup worked correctly. However, now the sql.js-httpvfs worker throws an error:
Length of the file not known. It must either be supplied in the config or given by the HTTP server.

Upon inspecting the HTTP response headers, I see that HEAD requests respond with content-encoding: gzip. According to sql.js-httpvfs, this breaks range requests because the server returns compressed data on HEAD but serves uncompressed data on range requests, making the byte length calculation incorrect.

Example response headers from a HEAD request:
``
content-encoding: gzip
accept-ranges: bytes
content-length: 1288
``
This behavior causes sql.js-httpvfs to fail when trying to read the file size and ranges properly.

Could you please confirm if there has been a recent change in how GitHub Pages serves static files or handles gzip encoding on HEAD and Range requests? Is there a recommended workaround to properly serve files that need range requests without gzip interfering?

Thank you very much for your help!

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Non sono identificati file del repository né test. Inizia riproducendo le richieste HEAD e Range verso GitHub Pages per un file SQLite, quindi confronta gli header content-encoding e content-length; l’indagine è completa quando il comportamento di serving è confermato e viene documentato un workaround supportato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
sqlite
Ambito
databases, infrastructure
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.