Skip to content

HTTP ETag #235

Open
Open
@johnjohndoe

Description

@johnjohndoe

Context

The provided schedule.xml is fetched by the FOSDEM Schedule app for Android to render the conference program in the mobile app.
To avoid unneeded downloads of the schedule when unchanged the app reads the HTTP ETag of the response and adds it to each subsequent request. If the schedule has not changed a server supporting HTTP ETag would respond with an HTTP 304 NOT MODIFIED status code and an empty response payload.
Also, schedule update announcements are presented to the user of the app. These should not be shown when the schedule has not changed.

Current state

The server seems not to support HTTP ETag for the given URL:

$ curl -I -H "If-None-Match: " https://fosdem.org/2024/schedule/xml /dev/null 2>&1
HTTP/2 200 
server: nginx
date: Fri, 12 Jan 2024 09:09:07 GMT
content-type: text/xml; charset=utf-8
content-length: 1579543
last-modified: Fri, 12 Jan 2024 06:48:51 GMT
vary: Accept-Encoding
expires: Fri, 12 Jan 2024 09:14:07 GMT
cache-control: max-age=300
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline'; media-src 'self' http: https:; img-src 'self' data: *.fosdem.org; object-src 'self'; style-src 'self' 'unsafe-inline'; 
accept-ranges: bytes

Request

Can you please add support for HTTP ETag to the webserver before/during/after the conference? I am mentioning all time frames because some conferences tend to archive their schedule as a static resource which then no longer supports HTTP ETag.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions