Không.
Kiểu nội dung nên là bất cứ thứ gì nó được biết đến, nếu bạn biết nó. application/octet-stream
được định nghĩa là "dữ liệu nhị phân tùy ý" trong RFC 2046 và có sự trùng lặp nhất định ở đây phù hợp với các thực thể có mục đích duy nhất là được lưu vào đĩa và từ thời điểm đó nằm ngoài bất kỳ "webby" nào. Hoặc để nhìn nó từ một hướng khác; điều duy nhất người ta có thể làm một cách an toàn với application / octet-stream là lưu nó vào tệp và hy vọng người khác biết nó dùng để làm gì.
Bạn có thể kết hợp việc sử dụng Content-Disposition
với các loại nội dung khác, chẳng hạn như image/png
hoặc thậm chí text/html
để cho biết bạn muốn lưu thay vì hiển thị. Nó đã từng là trường hợp mà một số trình duyệt sẽ bỏ qua nó trong trường hợp này text/html
nhưng tôi nghĩ rằng điều này đã xảy ra cách đây rất lâu vào thời điểm này (và tôi sẽ đi ngủ sớm vì vậy tôi sẽ không bắt đầu thử nghiệm cả đống trình duyệt ngay bây giờ, có thể sau này).
RFC 2616 cũng đề cập đến khả năng mã thông báo mở rộng và ngày nay hầu hết các trình duyệt nhận ra inline
có nghĩa là bạn muốn thực thể hiển thị nếu có thể (nghĩa là, nếu đó là loại trình duyệt biết cách hiển thị, nếu không thì không có vấn đề gì trong vấn đề này) . Tất nhiên đây là hành vi mặc định, nhưng điều đó có nghĩa là bạn có thể bao gồm filename
một phần của tiêu đề, trình duyệt sẽ sử dụng (có thể với một số điều chỉnh để tiện ích mở rộng tệp phù hợp với định mức hệ thống cục bộ cho loại nội dung trong câu hỏi, có lẽ không) như đề xuất nếu người dùng cố gắng lưu.
Vì thế:
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="picture.png"
Có nghĩa là "Tôi không biết đây là cái quái gì. Vui lòng lưu nó dưới dạng tệp, tốt nhất là có tên là image.png".
Content-Type: image/png
Content-Disposition: attachment; filename="picture.png"
Có nghĩa là "Đây là một hình ảnh PNG. Vui lòng lưu nó dưới dạng một tệp, tốt nhất là có tên là image.png".
Content-Type: image/png
Content-Disposition: inline; filename="picture.png"
Có nghĩa là "Đây là hình ảnh PNG. Vui lòng hiển thị nó trừ khi bạn không biết cách hiển thị hình ảnh PNG. Nếu không, hoặc nếu người dùng chọn lưu nó, chúng tôi khuyên bạn nên đặt tên image.png cho tệp bạn lưu dưới dạng".
Trong số các trình duyệt nhận ra inline
một số sẽ luôn sử dụng nó, trong khi những trình duyệt khác sẽ sử dụng nó nếu người dùng đã chọn "lưu liên kết là" nhưng không phải nếu họ đã chọn "lưu" trong khi xem (hoặc ít nhất là IE đã từng như vậy, thì nó có thể đã thay đổi vài năm trước).