Kiểu MIME .csv: text/csv

Tệp có đuôi .csv (giá trị phân tách bằng dấu phẩy) sử dụng kiểu MIME text/csv.

Cập nhật

text/csv
Kiểu MIME cho .csv
Dữ liệu
Danh mục
Có
Nén bằng gzip/Brotli

Kiểu MIME của tệp .csv là gì?

Kiểu MIME (media type) cho tệp giá trị phân tách bằng dấu phẩy có đuôi .csv là text/csv. Hãy thêm ; charset=utf-8 và, với Excel, một BOM UTF-8 ở đầu tệp để các ký tự có dấu hiển thị đúng. Dùng Content-Disposition: attachment; filename="data.csv" để buộc tải xuống.

Header Content-Type

Content-Type: text/csv; charset=utf-8

Các kiểu dựa trên văn bản nên có charset để trình duyệt giải mã ký tự đúng cách.

Cấu hình máy chủ

Máy chủCấu hình
Nginx (mime.types hoặc types {})text/csv csv;
Apache (.htaccess)AddType text/csv .csv
IIS (web.config)<mimeMap fileExtension=".csv" mimeType="text/csv" />
Node.js / Expressres.type('csv') hoặc res.setHeader('Content-Type', 'text/csv; charset=utf-8')
Amazon S3Đặt Content-Type: text/csv trên đối tượng (metadata), hoặc truyền --content-type text/csv vào aws s3 cp

Có nên nén tệp .csv không?

Có. Giá trị phân tách bằng dấu phẩy là văn bản, nên bật gzip hoặc Brotli cho text/csv thường giúp giảm 50–80 % kích thước truyền tải. Hãy đảm bảo danh sách nén của máy chủ có kiểu này — kiểm tra bằng công cụ kiểm tra nén website.

Vì sao kiểu MIME quan trọng

Trình duyệt quyết định cách xử lý phản hồi — hiển thị, chạy, phát hay tải xuống — dựa trên header Content-Type, chứ không phải đuôi tệp. Với X-Content-Type-Options: nosniff, kiểu sai sẽ khiến stylesheet và script bị chặn hoàn toàn. Với tệp tải lên, đừng bao giờ tin kiểu do client gửi; hãy kiểm tra nội dung tệp (magic bytes) trên máy chủ.

Câu hỏi thường gặp

Kiểu MIME của .csv là gì?
text/csv.
Làm cách nào đặt Content-Type cho .csv trong Nginx?
Hãy đảm bảo text/csv csv; có trong khối types (thường nằm ở /etc/nginx/mime.types) rồi tải lại Nginx.
Có nên nén tệp .csv bằng gzip không?
Có — định dạng này nén tốt, nên hãy thêm kiểu này vào cấu hình gzip/Brotli của bạn.