Description of issue:
URLs which provide a valid 200 response with the correct metatags and Content-Type header do not work if they also provide 103 Early Hints.
URL affected (must be public):
Working URL with early hints disabled: https://exlibrisrpg.com/about
Failing URL with early hints enabled: https://exlibris-staging.herokuapp.com/about
Troubleshooting steps attempted [note that we will not prioritise posts unless there is evidence of following the troubleshooting guides]:
Yep, in addition to the troubleshooting steps, I have validated that cards work on the server prior to enabling early hints. The URLs linked above are for production and staging versions of the same codebase with exactly the same configuration.
Just to confirm that this is specifically related to retrieval of pages for Twitter Cards content? (I recognise that you’ve posted it in the Cards category and added this in the title and content, but I’m just checking on the specific details to inform taking this to internal teams - thank you)
This is likely not a quick fix / change / update, but thank you for sharing this behaviour.
Thanks Andy, this is indeed for the retrieval of pages for Twitter Cards content.
The pages themselves return 200 OK responses - but 103 Early Hints are returned first.
An example curl:
> GET /about HTTP/1.1
> Host: exlibris-staging.herokuapp.com
> User-Agent: Twitterbot
> Accept: */*
>
< HTTP/1.1 103 Early Hints
< Server: Cowboy
< Date: Fri, 06 Aug 2021 16:47:56 GMT
< Connection: close
< Link: </packs/css/application-e48c5e4b.css>; rel=preload; as=style; nopush
< Via: 1.1 vegur
< HTTP/1.1 103 Early Hints
< Link: </packs/js/application-6e601cf0ef957313bcef.js>; rel=preload; as=script; nopush
< HTTP/1.1 103 Early Hints
< Link: </packs/media/fonts/UnifrakturCook-Bold-9f7f58c59556e7697094c7f5b439588e.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous
< HTTP/1.1 103 Early Hints
< Link: </packs/media/fonts/IBMPlexMono-Regular-e34159bc4a05b1b58ae27f92edddf497.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous
< HTTP/1.1 103 Early Hints
< Link: </packs/media/fonts/IBMPlexMono-Italic-ae2de845bd2e0cf5fc13948605520186.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous
< HTTP/1.1 103 Early Hints
< Link: </packs/media/fonts/IBMPlexMono-Bold-b268f25c466e055c5cfb0193a761591e.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous
< HTTP/1.1 103 Early Hints
< Link: </packs/media/fonts/IBMPlexMono-BoldItalic-f7d17be8372bd1b191091e1d75ec209a.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous
< HTTP/1.1 200 OK
< X-Frame-Options: SAMEORIGIN
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< X-Download-Options: noopen
< X-Permitted-Cross-Domain-Policies: none
< Referrer-Policy: strict-origin-when-cross-origin
< Permissions-Policy: interest-cohort=()
< Link: </packs/css/application-e48c5e4b.css>; rel=preload; as=style; nopush,</packs/js/application-6e601cf0ef957313bcef.js>; rel=preload; as=script; nopush,</packs/media/fonts/UnifrakturCook-Bold-9f7f58c59556e7697094c7f5b439588e.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous,</packs/media/fonts/IBMPlexMono-Regular-e34159bc4a05b1b58ae27f92edddf497.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous,</packs/media/fonts/IBMPlexMono-Italic-ae2de845bd2e0cf5fc13948605520186.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous,</packs/media/fonts/IBMPlexMono-Bold-b268f25c466e055c5cfb0193a761591e.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous,</packs/media/fonts/IBMPlexMono-BoldItalic-f7d17be8372bd1b191091e1d75ec209a.ttf>; rel=preload; as=font; type=font/ttf; crossorigin=anonymous
< Content-Type: text/html; charset=utf-8
< Vary: Accept
< ETag: W/"eaa4037fe592b1cddb90ab4d3e4f9032"
< Cache-Control: max-age=0, private, must-revalidate
< Set-Cookie: _exlibris_session=1reUUVZZOgici4EGEu053OaL4lTPWyv22TlC3eZ85Y6UhEIh%2BQ7M9TluJIPaUdTHFHtzn9MmkXQx0zd%2BC7w18gtCu8S1vCBolvh8OrHs%2BsD0bVV1CD6elxsYJh6sDj216a2aRbQ0Jvf67pSi6QL5AaFKJHR0WHYWMXqAPI4xwJyhNA1SpSITZCk8YZZ3k5IywuhfhkSf8k3BUQGG3ifjKoSb9TFSE19%2FA3OucwfCCd50KNRF5O4KtXhgGm7GdNWgmouqvdD4wwrWA6EFaxjK9EkA%2F91gWD0uSQ%3D%3D--AZEmtDW4tqmLW5Ey--sJqQ%2FBNn5RNrgO1Qh%2B2wBw%3D%3D; path=/; HttpOnly; SameSite=Lax
< X-Request-Id: 84cf50f5-38e0-492a-9770-3887a4ff15db
< X-Runtime: 0.141219
< Connection: close
< Transfer-Encoding: chunked
<
<!DOCTYPE html>
<html>
1 Like
Thank you for the clarification, I’ve shared this internally. As I mentioned, I do not have any kind of schedule for an update, but this level of detail is helpful.
system
Closed
#5
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.