File 什么决定浏览器是否打开或下载.txt文件?

File 什么决定浏览器是否打开或下载.txt文件?,file,browser,download,rendering,ascii,File,Browser,Download,Rendering,Ascii,首先,我想说,我知道您可以在标题中指定内容配置并使用“附件”或“内联”,而这个问题与此相关(至少不直接) 我有一个扩展名为.txt的文件。我注意到不同的浏览器行为取决于.txt文件的内容。如果我的文件包含字母数字字符,并且我将文件的位置粘贴到(比如)Chrome的URL栏中,则该文件将在浏览器中打开 如果我的文件包含字符,则会下载该文件,而不是在浏览器中打开该文件 起初我认为这可能是因为“SI”是一个控制代码,但“CR”和“LF”也是控制代码,当它们出现时,文件会显示在浏览器中。当.txt文件中

首先,我想说,我知道您可以在标题中指定内容配置并使用“附件”或“内联”,而这个问题与此相关(至少不直接)

我有一个扩展名为.txt的文件。我注意到不同的浏览器行为取决于.txt文件的内容。如果我的文件包含字母数字字符,并且我将文件的位置粘贴到(比如)Chrome的URL栏中,则该文件将在浏览器中打开

如果我的文件包含字符,则会下载该文件,而不是在浏览器中打开该文件

起初我认为这可能是因为“SI”是一个控制代码,但“CR”和“LF”也是控制代码,当它们出现时,文件会显示在浏览器中。当.txt文件中存在“DC2”字符时,该文件甚至会在Chrome中打开

我的问题是:在文件内容级别,什么决定文件是否显示或下载

(我知道这可能因浏览器而异,但如果有某种东西至少在某种程度上是可靠的,那么了解它会很有帮助)

提前谢谢

编辑(基于Sam的回答):


当“SI”或“DC2”字符位于文本文件的前1000个左右字符时,将下载该文件,如果这些字符位于前1000个左右字符之后,则该文件将显示在浏览器中。

发送文件时,浏览器的行为将基于服务器发送的内容类型头。如果您自己没有显式设置,web服务器可能会尝试根据文件的前几个字节进行最佳猜测


请参见

这让我对正在使用的文件进行了研究,发现文件中“特殊”字符的位置实际上很重要。谢谢