HTTP ETag
ETagの生成はHTTPにおいて必須ではなく、またETagの生成方法については特に規定がない。
一般には、リソースの内容に対して、衝突耐性のあるハッシュ関数を使う、最終更新日時のハッシュを取るなどの手法が取られる。
古いキャッシュを再利用してしまうという問題を起こさないようにするには、ETagの値が一意であること(少なくとも、重複が無視しうる程度であること)を保証する必要があるが、 CRCのような単純なチェックサム関数を使うと、衝突が起こってしまいETagによるキャッシュの判定が正常に行われない危険性がある。
また、サーバの実装によっては、ディスク上のinodeなど、環境依存の値をETagに使うケースも存在する。この場合、Webサーバをクラスターとしている、あるいは複数のサーバを使っていると、1つのサーバから返されたETagが次のリクエストの際に別なサーバで照合すると一致しない、ということとなり、キャッシュの効率性が損なわれる結果となる。