3

我从事网络编程已有 2 年了(自学成才 - 专业的生物学研究员)。我设计了一个具有所需功能和科学 RTE 的小型 wiki - 当然很多。我广泛使用了 mootools 框架和 AJAX。

当我看到从 URL 传递的查询字符串时,我总是很好奇。长加密查询字符串直接传递给服务器。尤其是谷歌的设计就是这样。我认为这是向客户提供 Web 服务的开始——我猜。

现在,我的问题是:这是一种特殊的、高度专业的、高效/先进的网页设计技术来通过 URL 交流查询吗?

我一直觉得基于 URL 的直接通信更快。我尝试了一下,可以直接通过 URL 发送查询。这是链接:http ://sgwiki.sdsc.edu/getSGMPage.php? 8 这样,客户端可以直接链接到所需的页面而不是搜索和/或可以自动化。有很多可能性。

下一个请求:我可以指出这种网络编程技术吗?oops: 对不起,如果我不能清楚地表达我的要求。

普拉萨德。

4

3 回答 3

1

我认为本质上您要问的是查询字符串。在一个页面后面的url中,可能有问号,后面可能有URL参数(一般称为GET请求参数)。

http://www.google.com/search?q=URL+parameter

通常,处理这将在服务器端完成。例如,在 PHP 中,可以使用以下内容:

$_GET['q']

上述代码将是变量的值。或者,要在客户端执行此操作,可以使用锚点。用井号替换问号#

由于这用于锚点,因此当 URL 更改为具有锚点标记时,页面不会刷新。这允许完全由 AJAX 驱动的页面在不刷新的情况下操作 URL。此方法通常还用于启用对 AJAX 页面的后退按钮支持。

在 JavaScript 中,可以使用 onload 处理程序作为读取页面 URL 并获取 URL 的哈希部分的机会。然后该页面可以向服务器发出请求以读取任何必要的数据。

于 2010-04-01T01:13:30.380 回答
1

我认为这是向客户提供 Web 服务的开始——我猜。

不,不是,虽然可以。它曾经有一个整个应用程序的中心入口点。这是一种常见的做法,有各种好处,但显然不是必需的。这些天通常,即使您看到的普通 url 可能实际上也不是应用程序中的物理页面。路径的每个部分实际上可能通过服务器端的重写和路由映射到一个变量。例如这个问题的 URL:

http://stackoverflow.com/questions/2557535/general-web-programming-designing-question

可能映射到类似的东西

http://stackoverflow.com/index.php?module=questions&action=view&question=2557535&title=general-web-programming-designing-question

这是一种特殊的、高度专业的、高效/先进的网页设计技术来通过 URL 交流查询吗?

拥有一个可以访问应用程序中所有功能的集中页面是前端控制器模式的一部分 - 应用程序中的一种常见模式,通常用作整体模型、视图、控制器 (MVC) 模式的一部分。在 MVC 中,应用程序的关注点被划分为包含业务逻辑的模型。然后控制器使用这些模型来执行一组可以产生输出的任务。然后通过视图层将此输出呈现给客户端(浏览器、窗口管理器等)。

于 2010-04-01T01:16:21.553 回答
0

这是使用前端控制器架构的结果。这完全符合 wiki 的想法,其中相同的代码用于呈现多个不同的 wiki 页面 - 内容由数据定义。

使用 URL 的查询部分作为页面选择标准并不是唯一的解决方案。例如,如果您使用的是 apache,那么您可以实现:

http://sgwiki.sdsc.edu/getSGMPage.php?8

作为

http://sgwiki.sdsc.edu/getSGMPage.php/8

(您需要添加自己的解析以获取值。

或者,您可以使用 mod_rewrite 将路径中的组件映射回查询。

采用这些策略中的任何一个都没有特别的功能/性能原因。尽管建议在 URL 是幂等的情况下,每个页面都可以通过 GET 操作进行寻址(对于 SEO 也很有用)。

C。

于 2010-04-01T09:16:17.657 回答