我从事网络编程已有2年(自学成才 - 专业的生物学研究员)。我设计了一个具有所需功能的小wiki和一个科学的RTE - 当然是预期的。我使用了mootools框架 和AJAX广泛。
当我看到从URL传递的查询字符串时,我总是很好奇。长加密查询字符串直接传递给服务器。特别是谷歌的设计就是这样。我认为这是向客户提供Web服务的开始 - 我想。
现在,我的问题是:这是一种特殊的,高度专业化,高效/先进的网页设计技术,可以通过网址传递查询吗?
我一直认为基于URL的直接通信速度更快。我尝试了一下,可以直接通过URL发送查询。这是链接:http://sgwiki.sdsc.edu/getSGMPage.php?8 这样,客户端可以直接链接到所需页面而不是搜索和/或可以自动化。有很多种可能性。
下一个请求:我可以指出这种网络编程技术吗? 哎呀:对不起,如果我没能清楚地传达我的请求。
普拉萨德。
答案 0 :(得分:1)
我认为基本上你要问的是查询字符串。在页面后面的网址中,可能会有一个问号,之后可能会有URL参数(通常称为GET请求参数)。
http://www.google.com/search?q=URL+parameter
通常,处理此操作将在服务器端完成。例如,在PHP中,可以使用以下内容:
$_GET['q']
上述代码将是变量的值。或者,要做到这个客户端,可以使用锚点。用问号#
替换问号由于这用于锚点,因此当URL更改为具有锚标记时,页面不会刷新。这允许完全由AJAX驱动的页面操作URL而不刷新。此方法通常也用于启用AJAX页面的后退按钮支持。
在JavaScript中,可以使用onload处理程序作为读取页面URL并获取URL的哈希部分的机会。然后,该页面可以向服务器发出请求,以读取任何必要的数据。
答案 1 :(得分:1)
我认为这是提供的开始 给客户的Web服务 - 我想。
不,不是真的,虽然可以。它曾经是整个应用程序的中心入口点。它是一种常见的做法,具有各种好处,但显然不是必需的。通常情况下,即使你看到的普通网址也可能不是应用程序中的物理页面。路径的每个部分都可以通过在服务器端重写和路由来实现映射到变量。例如,此问题的网址:
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
这是一个特别的,高度的 专业,高效/先进的网络 设计技巧进行沟通 通过网址查询?
拥有一个集中式页面,通过该页面访问应用程序中的所有功能都是前端控制器模式的一部分 - 这是应用程序中的常见模式,通常用作整体模型,视图,控制器(MVC)模式的一部分。在MVC中,应用程序的关注点分为保存业务逻辑的模型。然后,控制器使用这些模型来执行一组可以产生输出的任务。然后通过视图层将此输出呈现给客户端(浏览器,窗口管理器等)。
答案 2 :(得分:0)
这是使用前端控制器架构的结果。这与wiki的概念非常吻合,其中相同的代码用于呈现多个不同的wiki页面 - 内容由数据定义。
使用URL的查询部分作为页面选择标准并不是唯一的解决方案。例如如果您使用的是apache,那么您可以实现:
http://sgwiki.sdsc.edu/getSGMPage.php?8
作为
http://sgwiki.sdsc.edu/getSGMPage.php/8
(你需要添加自己的解析来获取价值。
或者,您可以使用mod_rewrite将路径中的组件映射回查询。
采用任何这些策略都没有特定的功能/性能原因。虽然建议URL是幂等的,但每个页面都可以通过GET操作寻址(对SEO也很有用)。
下进行。