服务器端代码是否与浏览器不兼容?

时间:2010-05-05 01:30:13

标签: language-agnostic

是否存在任何服务器端语言的情况,其中代码在浏览器中不起作用,而在其余部分中有效?

我问这个是因为我无法想象这样的场景,因为服务器端代码在服务器中运行,而不是在浏览器中运行但是我已经看过讨论,如上所述,存在“服务器端浏览器兼容性问题” 。我似乎无法回忆起我在哪里阅读它。

提前致谢:)

6 个答案:

答案 0 :(得分:1)

在服务器上运行的代码只需要与该服务器的环境兼容。如果说您有生成javascript的服务器代码,但是,这可能在一个或多个浏览器中不起作用,因为javascript代码中可能存在不兼容性,但除此之外,IE没有理由以不同于Firefox或者运行某些通用PHP或Ruby代码不管。

答案 1 :(得分:1)

它被称为Ruby on Rails,使用REST,浏览器不理解PUT和DELETE。您必须是非惰性的,并为每个Web表单添加隐藏的_method输入。

答案 2 :(得分:0)

要记住的是(将插件放在一边)浏览器唯一理解的是HTML,CSS和Javascript,因此您喜欢的服务器端语言中的所有内容都归结为这一点。简而言之,您可能会遇到服务器端语言生成的HTML,CSS和Javascript的兼容性问题,但是根据浏览器的不同,您不会遇到服务器端代码无法正常执行的任何问题。

如果你的服务器端代码做了一些奇怪的事情,比如试图检测浏览器或操作系统做不同的事情,那么当然可能会出错。

答案 3 :(得分:0)

这可能,但可能不适用于现代浏览器。例如,旧浏览器可能无法理解服务器强制执行的新版HTTP。它可能无法解码强制gzip压缩。

但是,现代浏览器似乎能够从与它们非常相似的任何东西中理解它们。

人们也可能会考虑不同浏览器中HTML和CSS解析器的区别。由于HTML和CSS内容仅由服务器生成,因此可能被视为“服务器端浏览器兼容性问题”

答案 4 :(得分:0)

如果您使用的是像Ruby on Rails或ASP.NET这样的Web开发框架,其中包含的动态组件具有在客户端执行的代码(例如ASP.NET AJAX),则会发生这种情况。 / p>

答案 5 :(得分:0)

使用基于传入的http用户代理的分支编写服务器端代码实际上很常见,例如,当您想要为Googlebot蜘蛛输出不同数据时,与其他人一起输出。

鉴于一个真正的病态示例,它完全有可能让某人编写服务器端代码,由于某种原因,当用户使用意外的用户代理字符串访问该页面时会抛出异常。