6

生のコンテンツにアクセスするときの GitHub ETag がどのように生成されるか知っている人はいますか?

私が知る限り、これは MD5、SHA1、または一般的な SHA バリアントではありません。

http ヘッダーの例:

HTTP/1.1 200 OK
Server: nginx/1.0.13
Date: Tue, 05 Jun 2012 19:46:08 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Status: 200 OK
ETag: "aa1da178ae0a43e23ce49a6b8f474738"

ETag の長さは 32 文字で、MD5 を示唆していますが、これはダウンロードしたファイル (curl を使用してダウンロード) の MD5 チェックサムと一致しません。

ETag を不透明な識別子として扱う必要があることは承知しています。それでも、好奇心旺盛です。

4

1 に答える 1

0

私の推測では、彼らはストックのnginxetagモジュールを使用していると思います。

https://github.com/mikewest/nginx-static-etags/blob/master/ngx_http_static_etags_module.c

于 2012-06-05T20:15:00.677 に答える