一般的Web编程/设计问题:
-
23-09-2019 - |
题
我从事Web编程已有2年(自学 - 专业的生物学研究人员)。我设计了一个具有所需功能的小型Wiki,并且预计会有一个科学的RTE。我广泛使用了Mootools框架和Ajax。
每当我看到从URL传递的查询字符串时,我总是很好奇。长期加密的查询字符串直接传递给服务器。尤其是Google的设计。我认为这是向客户提供网络服务的开始 - 我想。
现在,我的问题是:这是一种特殊,高度,高效 /高级的网页设计技术,可以通过URL传达查询?
我总是觉得基于URL的直接通信更快。我尝试了一下,可以直接通过URL发送查询。链接在这里: http://sgwiki.sdsc.edu/getsgmpage.php?8这样,客户端可以直接链接到所需的页面,而不是搜索和 /或可以自动化。有很多可能性。
下一个请求:我可以指向这样的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中,应用程序的关注点分为具有业务逻辑的模型。然后,控制器使用这些模型执行一组可以产生输出的任务。然后,通过视图层将此输出渲染到客户端(浏览器,窗口管理器等)。
其他提示
我认为从本质上讲,您要问的是查询字符串。在页面之后的URL中,可能会有一个问号,之后可能会有URL参数(通常称为获取请求参数。)。
http://www.google.com/search?q=URL+parameter
通常,处理此操作将在服务器端进行。例如,在PHP中,可以使用以下内容:
$_GET['q']
上述代码将是变量的值。另外,要执行此客户端,可以使用锚点。用哈希标志#替换问号
由于这用于锚固,因此在更改URL以具有锚固标签时,该页面不会刷新。这允许完全由AJAX驱动的页面操纵URL而不令人耳目一新。此方法通常也用于启用对Ajax页面的后按钮支持。
在JavaScript中,可以使用Onload处理程序作为读取页面URL并获取URL的哈希部分的机会。然后,该页面可以向服务器提出请求以读取任何必要数据。
这是使用前控制器体系结构的结果。这完全符合Wiki的想法,其中使用相同的代码渲染多个不同的Wiki页面 - 内容由数据定义。
使用URL的查询部分进行页面选择标准不是唯一的解决方案。例如,如果您正在使用Apache,则可以实现:
http://sgwiki.sdsc.edu/getSGMPage.php?8
作为
http://sgwiki.sdsc.edu/getSGMPage.php/8
(您需要添加自己的解析以获取价值。
另外,您可以使用mod_rewrite将组件从路径中映射到查询中。
没有特定的功能/绩效理由来采用这些策略。尽管建议使用URL为基础的情况,但每个页面都可以通过GET操作解决(也对SEO也很有用)。
C。