Help
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Ground Controller Lvl 1
Message 1 of 2

GitHub CDN seems to be handling ETags incorrectly

At CocoaPods, we've been using the GitHub CDN at https://raw.githubusercontent.com/ to retrieve files from a repository. We are using ETags and `If-None-Match` headers to avoid wasting bandwidth.

 

However, we're getting sporadic ETag mismatches that seem incorrect:

CDN: trunk Relative path: Specs/9/6/0/A2DynamicDelegate/1.0.2/A2DynamicDelegate.podspec.json, has ETag? "42ce09220a8c0f220f67a8427ed644db7b8a3fda"

CDN: trunk Redirecting from https://cdn.cocoapods.org/Specs/1/1/7/SDWebImage/3.1/SDWebImage.podspec.json to https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/1/1/7/SDWebImage/3.1/SDWebImage.podspec.json

CDN: trunk Relative path downloaded: Specs/9/6/0/A2DynamicDelegate/1.0.2/A2DynamicDelegate.podspec.json, save ETag: W/"42ce09220a8c0f220f67a8427ed644db7b8a3fda"

 

As you can see, the ETag returned is in fact a weak version of the ETag requested. The file in question hasn't changed.
This happens quite a lot and results in wasted bandwidth and longer update times.

Does anyone have any info on GitHub CDN and ETags?

1 Reply
Ground Controller Lvl 1
Message 2 of 2

Re: GitHub CDN seems to be handling ETags incorrectly

Of course I got the example wrong, here's a proper example:

CDN: trunk Relative path: Specs/9/6/0/A2DynamicDelegate/2.0.1/A2DynamicDelegate.podspec.json, has ETag? "bf0096d092cfc46f6e5c3c8dbaaf53a8bc412d09"

CDN: trunk Redirecting from https://cdn.cocoapods.org/Specs/9/6/0/A2DynamicDelegate/2.0.1/A2DynamicDelegate.podspec.json to https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/9/6/0/A2DynamicDelegate/2.0.1/A2DynamicDelegate.podspec.json

CDN: trunk Relative path downloaded: Specs/9/6/0/A2DynamicDelegate/2.0.1/A2DynamicDelegate.podspec.json, save ETag: W/"bf0096d092cfc46f6e5c3c8dbaaf53a8bc412d09"