Video và phụ đề · Direct Media Downloader
MIME loại và Loại nội dung: cách trang web gắn nhãn các tệp phương tiện để tải xuống
· Lý lịch
http phương tiện truyền thông web-basics
Phần mở rộng là quy ước về tên tệp; Loại MIME là cách máy chủ cho trình duyệt biết tệp là gì. Bài đăng này giải thích các loại MIME đến từ đâu, cách Content-Type định hình tải xuống và điều gì sẽ xảy ra khi cả hai loại không đồng ý.
Tệp này có tên là .mp4 nhưng trình duyệt coi nó là văn bản — sự không khớp mà các loại MIME được thiết kế để ngăn chặn
Đường dẫn kết thúc `.mp4` có thể được phân phát dưới dạng văn bản, trong khi đường dẫn không có hậu tố có thể mang video hợp lệ. Phần mở rộng thuộc về tên; HTTP Loại nội dung thuộc về siêu dữ liệu phản hồi.
Direct Media Downloader đọc tiêu đề đó trong HEAD khi CORS hiển thị tiêu đề đó và đọc lại từ GET. Nó hiển thị giá trị, sử dụng nó làm loại Blob và coi các giá trị trông giống phương tiện như lời khuyên thay vì chứng chỉ chặn. Do đó, một tiêu đề sai có thể thay đổi hành vi trước khi bất kỳ người chơi nào kiểm tra tải trọng, đặc biệt khi phản hồi sẽ được hiển thị nội tuyến. Nhãn không chính xác có thể ảnh hưởng đến việc xử lý trước khi bất kỳ người chơi nào kiểm tra nội dung, đặc biệt là khi trình duyệt hiển thị nội dung đa phương tiện theo cách khác.
Từ tệp đính kèm email đến HTTP — cách các loại MIME bắt đầu như một cách để gắn nhãn các phần email và trở thành hệ thống gắn nhãn tệp của web
MIME ban đầu là một hệ thống gắn nhãn các phần của thông báo và trở thành từ vựng được HTTP sử dụng để biểu thị. Loại phương tiện có loại cấp cao nhất và loại phụ, tùy chọn theo sau là các tham số.
Nhãn giúp trình duyệt chọn cách xử lý nhưng máy chủ gửi sẽ kiểm soát nó. Vùng lưu trữ có siêu dữ liệu kém có thể phân phối byte chính xác theo giá trị chung không hữu ích. HTTP đã thông qua sổ đăng ký vì các nhãn có thể tương tác được ưu tiên hơn đối với mọi khách hàng phát minh ra ý nghĩa từ tên tệp hoặc các phỏng đoán byte không có giấy tờ. Đăng ký chia sẻ đã thay thế các quy ước đặt tên riêng tư không tương thích bằng các nhãn mà ứng dụng khách thư và web có thể diễn giải một cách nhất quán.
Đọc tiêu đề Loại nội dung - loại, loại phụ và tham số, với video/mp4, âm thanh/mpeg và ứng dụng/octet-stream là các trường hợp phổ biến
`video/mp4` mô tả biểu diễn phương tiện MP4, `audio/mpeg` mô tả âm thanh MPEG và `application/octet-stream` là nhãn nhị phân chung. Tham số bộ ký tự thường dùng cho văn bản nhưng không xác định codec phương tiện.
ToolAcre giữ nguyên chuỗi tiêu đề hoàn chỉnh. Lời khuyên `looksLikeMedia` của nó công nhận nhãn video, âm thanh và MPEGURL; luồng octet kích hoạt sự thận trọng mà không bị từ chối tự động. Các tham số phải được diễn giải theo thông số kỹ thuật của loại phương tiện; sự hiện diện đơn thuần của chúng không chuyển đổi loại cấp cao nhất này sang loại cấp cao nhất khác. Các tham số phải được đọc theo định nghĩa loại áp dụng; sự hiện diện của chúng không làm thay đổi phản hồi nhị phân thành một họ cấp cao nhất khác.
Đánh hơi và các giới hạn của nó - tại sao đôi khi trình duyệt đoán và tại sao việc đoán có thể sai hoặc bị vô hiệu hóa một cách có chủ ý
Các trình duyệt đôi khi kiểm tra byte khi siêu dữ liệu bị thiếu hoặc không rõ ràng, nhưng việc đánh hơi bị hạn chế để đảm bảo tính bảo mật và nhất quán. Máy chủ có thể vô hiệu hóa một số tính năng đoán và hành vi sẽ khác nhau tùy theo ngữ cảnh.
Trình tải xuống không triển khai trình quét chữ ký của riêng nó. Nó không mở vùng chứa cũng như không ghi đè MIME đã khai báo sau khi kiểm tra codec, vì vậy, hãy tránh tuyên bố rằng nó sửa siêu dữ liệu máy chủ. Các tiêu đề bảo mật như `X-Content-Type-Options: nosniff` có thể hạn chế việc đoán một cách có chủ ý, đặt ra trách nhiệm lớn hơn cho việc cấu hình máy chủ chính xác. Phản hồi `nosniff` có thể cố ý giảm khả năng đoán, khiến siêu dữ liệu gốc chính xác trở nên quan trọng hơn thay vì mời khách hàng sửa chữa.
Tiện ích mở rộng so với loại MIME — loại mà người chơi, hệ điều hành và công cụ trình duyệt thực sự tin tưởng
Trình phát và hệ điều hành có thể xem xét tiện ích mở rộng, MIME, chữ ký byte và codec có sẵn theo các thứ tự khác nhau. Không có một nhãn hiệu nào có thể giành chiến thắng chung đối với tất cả người tiêu dùng.
Tên tệp dự phòng của ToolAcre chỉ sử dụng Loại nội dung khi Bố trí nội dung và phân đoạn đường dẫn cuối cùng không có. Nó nhận ra WebM và MP4 ở đó; nếu không thì tên chung kết thúc bằng `.bin`. Quy trình lưu trữ phải ghi lại cả hai nhãn vì sự bất đồng là bằng chứng chẩn đoán chứ không phải là lý do để âm thầm ghi đè nhãn này lên nhãn kia. Lưu trữ cả hai giá trị khi chúng không đồng nhất vì sự không khớp đó là bằng chứng chẩn đoán hữu ích về cấu hình phân phối.
Ví dụ đã hoạt động: sửa nhóm lưu trữ phục vụ mọi thứ dưới dạng luồng octet - những thay đổi đối với quá trình tải xuống và tệp đã lưu
Nếu nhóm lưu trữ phục vụ mọi đối tượng dưới dạng luồng octet, hãy cập nhật siêu dữ liệu tại nguồn. Sau đó, tệp được ủy quyền tương tự có thể tạo ra hàng thăm dò rõ ràng hơn và Blob được nhập chính xác trong các yêu cầu sau này.
Đường dẫn hiện tại hoặc tên Bố trí nội dung có thể không thay đổi vì quyền ưu tiên của tên tệp là riêng biệt. Việc sửa tiêu đề MIME không chuyển mã byte hoặc sửa chữa tiện ích mở rộng sai lệch đã được cung cấp ở nơi khác. Lặp lại yêu cầu sau khi truyền siêu dữ liệu và xác nhận phản hồi thực tế vì việc thay đổi trường bảng điều khiển lưu trữ không chứng minh được rằng mọi bộ nhớ đệm CDN hiện đều phục vụ nó. Sau khi thay đổi siêu dữ liệu nhóm, hãy xác minh phản hồi sản xuất sau khi truyền bộ nhớ đệm thay vì tin cậy vào xác nhận lưu của bảng điều khiển.
Điều này không bao gồm những gì - vùng chứa và codec bên trong tệp mà không có tiêu đề nào có thể đảm bảo
Loại nội dung không thể đảm bảo tính hợp lệ của vùng chứa, codec, thời lượng, tính toàn vẹn, an toàn hoặc khả năng chơi. Máy chủ có thể vô tình hoặc cố ý nói dối và quá trình truyền có thể kết thúc trước thời hạn đã hứa.
Sử dụng phần mềm kiểm tra đáng tin cậy cho các câu hỏi về vùng chứa và codec. Công việc của người tải xuống kết thúc bằng việc bảo quản nội dung nhận được và hiển thị nhãn máy chủ mà nó quan sát được. Tổng kiểm tra và các thăm dò chuyên dụng có thể tăng thêm độ tin cậy về byte chính xác, nhưng cả hai đều không được triển khai bởi giao diện lưu tệp này. Tổng kiểm tra và thăm dò vùng chứa có thể thiết lập thông tin bổ sung, nhưng cả hai chức năng đều không thuộc về giao diện trình tải xuống tập trung này. Do đó, một nhãn hiệu quen thuộc sẽ hướng dẫn việc điều tra mà không cần kết thúc nó.
Bài học rút ra: nhãn quan trọng - Loại nội dung của liên kết trực tiếp định hình những gì mà Direct Media Downloader lưu
Nhãn định hình việc xử lý, cảnh báo và đặt tên dự phòng, vì vậy chúng quan trọng ngay cả khi chúng không phải là bằng chứng. So sánh tiêu đề, tên tệp, nguồn đã biết, số byte và phát lại dưới dạng các bằng chứng riêng biệt.
Direct Media Downloader báo cáo loại vắng mặt là "không được máy chủ nêu" và tránh phát minh ra loại ngoài dự phòng Blob. Hạn chế đó làm cho người có thể sửa máy chủ có thể nhìn thấy cấu hình sai. Đối với chủ sở hữu máy chủ lưu trữ, việc sửa siêu dữ liệu tại thời điểm tải lên sẽ mang lại lợi ích cho mọi trình duyệt và ứng dụng khách thay vì yêu cầu mỗi khách truy cập sửa nhãn sau khi tải xuống. Kiểm tra lại phản hồi được gửi sau đó.