mixiグループ Advent Calendar 2016の12日目の記事です。 ユーザから写真をアップロードしてもらう機会が多いのですが、やはり携帯回線からのアップロードしたファイルは壊れているケースが多く、ファイルの完全性をチェックしたいなぁと考えておりました。 じゃあどうやって完全性を検証しようかと調べていたところ、Content-MD5ヘッダーにたどり着きました。 Content-MD5ヘッダーって? まず先にお断りしておきますが、2016年12月現在のHTTP/1.1では定義されていないヘッダーです。 もともとContent-MD5ヘッダーは、MIMEでメールの本文の完全性を保証するために定義されていました(RFC 1864)。 それをHTTPに持ってきたのがRFC 2616です。しかし、2014年のHTTP/1.1の改定(RFC 7230, RFC 7231, RFC 7232