2011-11-23 24 views
10

Tạo một máy chủ web REST chủ yếu dựa trên các tệp tải lên/tải xuống lớn, tôi muốn có thể kiểm tra tính toàn vẹn của tệp. Tôi tin rằng cách thích hợp để làm điều đó là sử dụng tiêu đề HTTP Content-MD5 [0] như được chứng minh hữu ích bởi kinh nghiệm aws [1].Kiểm tra tính toàn vẹn thư với tiêu đề HTTP vì Content-MD5 không được chấp nhận?

Tuy nhiên, nhiều đến nỗi mất tinh thần của tôi, gần đây tôi đã học được rằng nó đã được (không?) Không được chấp nhận [2].

Các cuộc thảo luận deprecation đã không đưa ra bất kỳ gợi ý cách giải quyết, vì vậy tôi hỏi bạn:

nên tôi vẫn quyết định sử dụng một HTTP header Content-MD5?

Tôi có nên sử dụng ETag có cùng ý nghĩa (mã hóa base64 của md5sum) không?

Tôi có nên sử dụng thông số? Md5sum = XXX không?

Có giải pháp tốt hơn hoàn toàn không?

Cảm ơn thông tin chi tiết của bạn.

Best Regards, B.

[0] https://webmasters.stackexchange.com/questions/2924/

[1] http://developer.amazonwebservices.com/connect/thread.jspa?threadID=22709

[2] http://trac.tools.ietf.org/wg/httpbis/trac/ticket/178

Trả lời

1

Thêm một tiêu đề tùy chỉnh, được gọi là nói X-YourService-Integrity. Điều đó làm cho nó rõ ràng rằng đó là một hệ thống cụ thể cho dịch vụ của bạn, và cho phép bạn sử dụng các cơ chế kiểm tra tính toàn vẹn khác với MD5 trong tương lai (ví dụ, SHA1). Nó cũng tránh cho bạn phải "quá tải" cơ chế hiện có tương tự nhưng không hoàn toàn là những gì bạn muốn.

+0

Cảm ơn câu trả lời của bạn. – user687718

+0

Cảm ơn bạn đã trả lời. Tuy nhiên, một tiêu đề http tùy chỉnh có thể bị loại bỏ trong quá trình truyền và tôi không thấy một lợi thế nào so với ETag có thể được sử dụng cho bất kỳ kiểm tra tính toàn vẹn nào như việc triển khai trình duyệt tính hợp lệ được mở theo tiêu chuẩn http://www.w3.org/Protocols /rfc2616/rfc2616-sec13.html#sec13.3.3 – user687718

+0

Tại sao tiêu đề bị giảm trong khi truyền? –

Các vấn đề liên quan