hxy100 最近的时间轴更新
hxy100

hxy100

V2EX 第 41391 号会员,加入于 2013-06-29 13:30:57 +08:00
今日活跃度排名 7931
根据 hxy100 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
hxy100 最近回复了
这不算啥,很多用得不频繁的 QQ 小号还强制要你刷脸验证呢?
21 天前
回复了 lagoon 创建的主题 程序员 感觉在中小公司,很难不写出屎山代码
有 review 总比没有 review 好,有的小公司代码直接都没有 review 环节的。
我编辑了一个较长的帖子,但是发不出来,被吞帖了,IP 还被禁了,我临时换了一个 IP ,还好找回了编辑的内容,所以把内容发在图片上回应诸位,不知道能不能发出来,其中的观点你们不管赞同与否,这是我最后一次回复此问题了,谢谢大家。

@void1900
@liuxu
@rekulas
----
图片中提到的链接:
https://www.baeldung.com/linux/file-mime-types

---

@InternetExplorer 再补充一点,如果你是在命令行直接调用 php 文件(比如 php hello.php, php hello2.123 <---后缀名不相关,可以任意),那这种情况就跟 MIME Type 没有关系,他就是直接读取源码然后解析<?php ?>包含的代码,只要你把 PHP 文件放到任意的 Web Server 里边,要通过 HTTP/HTTPS 访问,那 MIME Type 就是绕不过去的了,别管你看没看到 Content-Type ,看到的 Content-Type 是啥,Web 服务器在发送结果之前,都按自己内部定义的或者默认的 MIME Type 进行了分析和处理。
@InternetExplorer 是的,你这个表述大部分是对的,但对于 MIME Type 的理解还是限制在了 Content-Type 上,这也不算冷知识了,大家都知道, 早期 PHP 源文件为了区分不同的版本,甚至还使用.php4 和.php5 这样的后缀名呢,这都不影响,MIME-Type 用来指代和归类一类文件,比如 .php4 .php5 .php 都可以统一归为一种 MIME Type ,至于叫什么名字无所谓,你甚至可以把它叫做 application/my-php-file, xxx/xxx 这样的名字也只是一种约定速成的形式。为了 HTTP 统一接口,统一调用而已。

PHP 本身跟 mime 没关系,但是服务器软件要解析和处理 PHP ,就少不了 MIME Type 的掺和了。

不管是什么 Web 服务器( Apache ,Nginx ,IIS 等)在以文件后缀名作为区别对请求进行分流的时候,Web 服务器内部就已经是通过不同的文件类型来分别做不同的处理了。多个不同的后缀名文件也可以设置归到一个 MIME Type 下,用一种方式统一处理(比如上面举的例子,多个不同的 php 文件的后缀名实质都是 PHP )。然后,已知的图片类型加图片类型的 Content-type ,文本类型加 text 这一类的头部,经过动态解析的页面,统一都使用 text/html ,接口调用的根据需要显示 json 头部或者 xml 的头部标识。

要注意一点,浏览器的 Content-Type 只是 MIME Type 的应用之一,而不是全部。MIME Type 的存在让 HTTP 类应用各种文件类型前后呼应,功不可没。C/S 架构,B/S 架构少了任何一端配合都不行。
@eason1874 又来一个在这杠,我再强调一次,MIME Type 的应用很广泛,客户端和服务端都有,不是你在浏览器看到的那个 Content-Type 才叫 MIME Type ,你在配置转发的时候,已经认定 PHP 这个类型的 MIME 包括的这一类文件需要后端解析了,居然都解析过了,自然看不到原始数据了。一群人狭隘地认为浏览器里面那个“Content-Type”才叫 MIME Type
突然想起来一个老梗:
如何让一群程序员马上争论起来?
——“PHP 是世界上最好的语言”

-------------

万万没想到,有一天我也变成了这种人,终究还是没躲过。


散了,我克制一点。干正事要紧。
@miencun 又来一个搞笑的。你的两个观点都大错特错。你甚至还不如他 @void1900
引用你的话:
“扩展名和 Mime 毛关系都没有,你以为 php 叫 application/x-httpd-php ,谁定义的?浏览器为什么会暴源码,因为浏览器不认识 application/x-httpd-php ”
----
解答:
1 、扩展名和 Mime 是一一对应的关系,当然了,也可以一对多,一个 MIME 对应多个拓展名。
2 、浏览器暴露源码是因为 Web 服务器处理失误输出了源文件的原始数据( RAW DATA ),跟你浏览器收到什么 Content-type 没有关系,这个东西很好证明,你可以不用浏览器啊,Linux 有现成的 curl 命令,Web 服务器端配置有问题的话,你用 curl http://xxx 不一样能得到服务器返回的源码吗?跟 Content-Type 有什么关系呢?只跟你服务器输出了什么东西有关系,不止是 Content-Type ,绝大多数的 HTTP 头部信息其实都是可以忽略的,不影响结果输出,绝大部分的头部信息都属于冗余信息,需要用到的时候才拿出来用。
@void1900 对牛弹琴,说了那么多白说了。如果你要好好说话,你可以说 MIME Type 不能和拓展名相关联,只能做描述文件类型用,那这个问题本身就有争议,我可以考虑接受。尽管这个问题有争议,回复了那么多,你也应该知道我要说的 MIME Type 就是 Web Server 根据不同拓展名来处理不同类型文件的意思。而不是杠子眼,为什么我说有争议,是因为这个问题你在 Google 和 Stackoverflow 上都有两个版本,普遍认为 Apache ,IIS 这样的关联比较强(直接写在配置文件里或者配置界面上),Nginx 等代理性质的服务器关联比较弱,但不是代表没关系。

第二个,关于你说的 SetHandle ,那你觉得 Apache 是凭什么东西找到它要 Handle 的对象的呢?
@void1900 语文不好的是你,理解能力差,所以一开始才看不懂别人的回复里面已经约定了很多东西,你视而不见,需要一遍又一遍跟你解释,我说了不急,只要 V2 这站还活着,让时间给你答案。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2686 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 14:00 · PVG 22:00 · LAX 06:00 · JFK 09:00
♥ Do have faith in what you're doing.