Ajax操作真的应该有单独的URL吗
Should Ajax actions REALLY have separate URL?
我不时听到一种观点,认为对非Ajax和Ajax操作使用相同的URL是不好的。
在我的应用程序上,我使用Ajax发送表单,以获得更好的用户体验。对于禁用JavaScript的人来说,我的表单也可以工作。我的一些链接也是如此。我过去对两者都有相同的URL,只使用适当的内容和Content-Type
,这取决于它是否是Ajax调用。这导致了谷歌Chrome的问题:Laravel 5和奇怪的错误:背面的花括号
我现在的问题是,对Ajax和非Ajax操作使用相同的URL真的是个坏主意吗?为每个操作创建两个单独的URL是很痛苦的。或者可能有一个很好的解决方案来管理缓存?理论上,一个标头可以完全改变行为,所以我不明白为什么要在我的应用程序中创建额外的层,并强制相同的东西有单独的URL。
请分享你的意见。
HTTP是灵活的,允许您以所需的方式设计资源。您设计API,根据个人喜好进行设计。但在这种情况下,拥有一个资源来响应不同类型的请求是完全可以的。这就是像Content-type
这样的HTTP头存在的原因。
对于缓存,您可以使用HTTP-Etag标头。它是一个缓存头,强制客户端在使用缓存资源之前验证。
ETag或实体标记是万维网协议HTTP的一部分。它是HTTP为web缓存验证提供的几种机制之一,允许客户端发出有条件的请求。这使得缓存更加高效,并节省了带宽,因为如果内容没有改变,则web服务器不需要发送完整的响应
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 直接下载文件,而不是从window.open(url)
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 在单独的ul's
- 通过js在新选项卡中有条件地打开url
- 悬停打开 DIV 时,DIV 内容应从单独的 URL 动态加载
- 使用单独的js文件,并在其中使用ASP.NEt MVC 3和Razor视图引擎的Url帮助程序
- 如何在单独的框架中的文本框中打开url
- Javascript中的单独URL/链接
- 通过URL触发多个单独的JavaScript函数而不刷新页面
- 将url存储在单独的文件中
- 新页面将自动创建与单独的URL
- Ajax操作真的应该有单独的URL吗
- 从 url 中获取 ID 号(单独),并使用它来选择具有该 ID 号的 ID(使用 jquery)
- 如何通过url将数据从python文件发送到单独项目中的HTML文件(没有HTML作为模板)
- 在包含两个单独单词的页面上搜索url
- 是否有可能屏蔽/隐藏冗长的URL,只是单独显示域名