Theo như tôi biết thì chúng bình đẳng tuyệt đối. Tuy nhiên, khi duyệt qua một số tài liệu django, tôi đã tìm thấy đoạn mã này:
HttpResponse.__init__(content='', mimetype=None, status=200, content_type='text/html')
Điều đó làm tôi ngạc nhiên khi cả hai hòa hợp với nhau. Các tài liệu chính thức đã có thể giải quyết vấn đề theo cách thực tế:
content_type là một bí danh cho mimetype. Trước đây, tham số này chỉ được gọi là mimetype, nhưng vì đây thực sự là giá trị được bao gồm trong tiêu đề Loại nội dung HTTP, nên nó cũng có thể bao gồm mã hóa bộ ký tự, khiến nó không chỉ là một đặc tả kiểu MIME. Nếu mimetype được chỉ định (không phải Không có), giá trị đó sẽ được sử dụng. Nếu không, content_type được sử dụng. Nếu không có thì cài đặt DEFAULT_CONTENT_TYPE sẽ được sử dụng.
Tuy nhiên, tôi thấy nó không đủ sáng tỏ. Tại sao chúng ta sử dụng 2 cách đặt tên khác nhau cho (gần như giống nhau)? Có phải "Content-Type" chỉ là tên được sử dụng trong các yêu cầu của trình duyệt và rất ít được sử dụng bên ngoài nó không?
Sự khác biệt chính giữa mỗi cái mimetype
là gì và khi nào là đúng để gọi một cái gì đó trái ngược với content-type
? Tôi có phải là người xấu và ngữ pháp nazi không?