6.2. The Context of the Web

简介:

6.2. The Context of the Web

我们已经讨论了增强用户体验的一般原则,其中的每一条原则都应该放到具体的实践中去应用。Rails开发的项目都是web应用,所以,让我们来看看web的工作方式。

6.2.1. HTTP

如果你使用HTTP嗅听器来查看在你浏览web页面时,发送到internet上的实际内容,你会看到浏览器和web服务器之间的会话。当你点击一个链接时,浏览器会发送一个类似于下面内容的请求:

Accept: */*

第一行是请求行,这一行的第一个单词代表请求方法(GET)。方法后面是请求的URL路径和所使用HTTP的版本。其余的是请求的头部信息,这些附加信息是为了完成请求而传递给服务器的。

HTTP方法有时也叫HTTP动词,因为这些方法在某些对象上实施动作。就像平时人们交流一样,在错误的环境中使用错误的动词会产生一些不良后果。HTTP动词也有类似的潜在的改变效果的可能,所以在选择方法时一定要小心。

最常见的HTTP方法是GET。无论你是在导航栏中输入网址后敲回车,还是点击一个标准链接,或者浏览页面中图像,这时数据都是通过GET方法请求得到的。依照规范,GET请求不对请求的数据进行改变性的操作,所以GET方法是安全的操作。GET方法的安全性带来了很多实用的技术, 譬如缓存和预载。

安全性经常会和一个相关概念--幂等性相混淆。一个方法如果是具有幂等性,意思就是说多次实施这个方法得到的结果与实施一次得到的结果一样的。例如,HTTP的操作DELETE方法就具有幂等性,因为一个资源被删除两次跟删除一次是一样的。GET也具有幂等性。

另外一个方法是POST,经常被用来提交web表单, POST请求通常包含一个内容结构,可能是各种不同的数据。POST的意思本质上来说是“process this(处理它)”。对于结果来说,POST方法既不安全也不幂等。这就是为什么浏览器要在加载一个通过POST方法进行访问的页面之前要先得到确认的原因。否则,可能会无意识的让服务器增加不必要的开销。

另外两个标准的HTTP方法是PUTDELETE,这两个方法通常不被浏览器和服务器软件支持,但是他们却作为web服务越来越多的被使用。

Table 6-1. HTTP methods and SQL equivalents

 
SQL
幂等性
安全性
Yes
Yes
No
No
Yes
No
Yes
No

Rails视图中可以使用:method参数来选用适当的HTTP方法,例如在linkform helper:method都是可用的,Ajax helper中也是可用的:

 





本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/111345,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
移动开发 前端开发 JavaScript
Web2.0时代
Web2.0时代
25 4
|
7月前
|
Java
web三大组件之一Listener
web三大组件之一Listener
40 0
|
8月前
|
小程序 安全 JavaScript
web-view是什么
web-view是什么
|
9月前
|
JavaScript
Web APls-day03
Web APls-day03
|
9月前
|
JavaScript
Web APls-day02
Web APls-day02
|
前端开发 JavaScript
WEB简单回顾
对前端知识的简单回顾
|
存储 Web App开发 人工智能
带你了解什么是 Web3.0
1989年,CERN(欧洲粒子物理研究所)中TimBerners-Lee领导的技术小组提交了一个针对互联网的新协议和一个使用该协议的文档系统,该小组将该系统命名为WorldWideWeb,简称WWW(万维网),也就是我们现在熟知的“互联网”,它的目的在于使全球的科学家能够利用互联网来交流自己的工作文档。它采用的技术主要是HTML、URI、URL、HTTP等,可以通过静态的方式展示网页内容。通常来说,Web1.0指的是20世纪90年代和21世纪初的互联网。什么是Web3.0?
505 0
带你了解什么是 Web3.0
|
人工智能 运维 供应链
风口浪尖的 Web 3.0,接下来的路该怎么走?
Web 3.0 作为一个新兴却又极其火爆的概念,引人注目的同时也引发了各种褒贬不一的畅想与质疑。
189 0
|
JavaScript 前端开发 API
秒懂 Web Component
哈喽,大家好,我是海怪。 最近不是写了一篇关于京东微前端框架的文章嘛 《初探 MicroApp,一个极致简洁的微前端框架》,里面提到了一个叫 Web Components 的东西。虽然对它早有耳闻,但是一直也没怎么仔细看过,所以就深入了解了一下,今天给大家做个简单分享 :)
秒懂 Web Component
|
Web App开发 JavaScript 前端开发
Web 基本问题总结
Web正式入门踩坑总结 前言:最近需要跟着老师做一个商业性项目,有关英语学习的网站。因为我是打算从事 Android 方面的工作,其实内心是有些拒绝的,不过在仔细思考和问了一些大佬后决定多学点还是有好处的,毕竟现在大前端的声势如此浩大。
1104 0