2011-06-30 51 views
7

發送包含響應內容的校驗和是個好主意嗎?如果是這樣,計算校驗和的最常用方法是什麼?REST API響應中的校驗和

例子:

HTTP/1.1 200 OK 
Date: Thu, 30 Jun 2011 21:32:20 GMT 
Server: Apache 
Connection: close 
Content-Type: application/json 

22 
{test:1} 

回答

7

HTTP的底層協議是TCP,它已經具有校驗和機制,所以我認爲它是沒用的。

如果您仍然需要這種東西,你可以計算出主體內容的SHA1簽名,並將其包含在你的迴應自定義標題,像

HTTP/1.1 200 OK 
Date: Thu, 30 Jun 2011 21:32:20 GMT 
Server: Apache 
Connection: close 
Content-Type: application/json 
X-Checksum: 40325305549f7a09edb51ff8df9528ffd8434ac6 
1

爲了什麼?基本上TCP幾乎爲你處理(因爲它應該是一個可靠的協議),所以校驗和不太必要,可以說是多餘的。

但是,如果你堅持這樣做,我只需添加某種X-Checksum HTTP頭。

3

東西,你總是可以使用Content-MD5頭(見RFC 2616 & 1864)。

+1

_ Content-MD5頭字段已被刪除,因爲它與部分response_不一致。 [RFC 7231](https://tools.ietf.org/html/rfc7231) – gkiko