Browser 浏览器如何处理静态文件、可下载文件、json和xml

Browser 浏览器如何处理静态文件、可下载文件、json和xml,browser,Browser,这是一个非常基本的问题。 客户端点击服务器中的url。服务器可以以 静态文件(javascript/html) xml/json(此文件的主要目的是向客户端返回一些数据) 可下载文件类似于zip文件。对于这一部分,服务器需要将content-type属性设置为something,以便让客户端知道它希望此文件下载某个内容 我的问题是浏览器如何区分静态文件和api响应(xml/json/string格式) 谢谢, 沟壑 HTTP中没有“文件”这样的东西。有请求和响应,每个请求和响应都由标题和内容组成

这是一个非常基本的问题。 客户端点击服务器中的url。服务器可以以

  • 静态文件(javascript/html)
  • xml/json(此文件的主要目的是向客户端返回一些数据)
  • 可下载文件类似于zip文件。对于这一部分,服务器需要将content-type属性设置为something,以便让客户端知道它希望此文件下载某个内容
  • 我的问题是浏览器如何区分静态文件和api响应(xml/json/string格式)

    谢谢, 沟壑

    HTTP中没有“文件”这样的东西。有请求和响应,每个请求和响应都由标题和内容组成。响应内容可能是服务器上的“文件”内容,也可能在客户端上被视为“文件”(例如下载.zip文件),但响应本身不是文件。服务器通过HTTP头向客户机指示某些内容应该是文件的方式

    具体来说,您正在谈论的两个标题是:

    • 内容类型
    • 内容配置

    第一个命令告诉客户端(浏览器)它正在接收什么类型的数据。有,而且大多数浏览器都知道如何处理最常见的类型。第二个选项可用于向客户端建议内容应保存为文件,而不是显示。例如,内容类型可能是图像,默认情况下浏览器只显示图像。但是,您可以添加一个内容处理标题,以指示图像是“附件”,甚至建议它的文件名,指示浏览器保存文件(或提示用户要求保存文件),而不是显示文件。

    谢谢@David。因此,如果我试图整理从服务器收到的文件,是检查内容类型的最佳方法,它将指示响应是json/xml还是静态文件。@SoumyadeepGanguly:内容类型将(应该)指示接收的数据(或内容)的类型。从客户机的角度来看,“动态”文件和“静态”文件没有区别。这只是回复中收到的内容。无论内容是从一个文件、一组文件、数据库数据等构建的,客户端都没有区别。