是否需要内容类型响应标头



我正在将各种类型的内容(gif、jpeg、png、css、pdf)上传到amazons3。然后我把Nginx放在S3前面,这样我就可以重写url并让azure cdn提取它们。

我遇到的问题是,有时在上传文件时(各种方式,但主要是javascript http上传),我们经常忽略放置内容类型。我正试图弄清楚,让nginx通过一个严重的位置来更正这些标题是否值得花时间,以及语句是否应该一起删除所有内容类型的标题。

例如:当我在Chrome网络检查器中查看这个url时,我没有看到返回的内容类型标头。http://wiki.nginx.org/local/nginx-logo.png.

我们终于到了浏览器可以自己决定内容类型的地步了吗?

添加内容类型标题是否具有任何特定的性能优势?

什么是基于文件扩展名设置内容类型的快速nginx规则?例如,如果url是mydomain.com/s3reversproxy/uploads/test.css?querystring=随机以正确设置其内容类型?目前我正在使用这个,但担心很多if语句可能是个坏主意:

    location ~* ^/s3/(.*) {

  # Headers based on file extensions
  more_clear_headers        'Content-Type';
  if ($request_uri ~* .*svg.*) {  
    more_set_headers        "Content-Type:image/svg+xml";
    more_set_headers        "X-Content-Type:OverRidden";
  }

  set $s3_bucket           'mybucket.s3.amazonaws.com';
  set $url_full            '$1';
  # HEADERS
  more_set_headers          "Server: PROXYS3";
  add_header                Cache-Control "no-transform,public,max-age=36720000";
  etag                      on;
  expires                   425d;
  .....

谢谢!

所有这些类型通常存储在一个名为mime.types的文件中,它们应该由nginx.conf包含在http上下文中,而不是执行这些扩展条件,请检查mime.types文件,并为每个扩展名(如果它还不存在)及其代表的类型添加一条记录。

如果它们都已包含,请确保您的nginx.conf包含该文件。

相关内容

  • 没有找到相关文章

最新更新