303:see other,
引用
The response to the request can be found under another URI using a GET method. When received in response to a POST (or PUT/DELETE), it should be assumed that the server has received the data and the redirect should be issued with a separate GET message.
重定向请求到新的URL,而且客户端应当采用 GET 的方式访问这个新的URL。当收到服务器关于post请求的回应时,就认为服务器已经收到了数据,并且我们必须用get去访问这个新的URL。
这种方式在PRG方式中十分常见。这个新的 URI 不是原始URL的替代引用。同时,303响应禁止被缓存。当然,第二个请求(重定向)可能被缓存。新的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。
关于PRG,我的理解市,它是一种为了防止重复提交的模式,当我们使用post提交如购买信息时,服务器接受请求,立刻重定向到一个新的URL,而这个URL代表的网页采用的是get方式访问服务器,参考下面的get和post的区别,get主要完成的是查询的任务,所以,此时即使我们再刷新网页,我们也只是发出get请求,而并不会让服务器误以为我们重新提交了。我们可以参考
http://en.wikipedia.org/wiki/Post/Redirect/Get和
http://www.cnblogs.com/wintersun/archive/2012/03/24/2415349.html
307:Temporary Redirect 类似303,
In this case, the request should be repeated with another URI; however, future requests should still use the original URI.[2] In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For instance, a POST request repeated using another POST request.
与302的主要区别在于,当我们去访问重定向的URL时,我们不需要一定使用GET,只要和之前第一次访问该URL时使用的访问方式一样就可以了。
这种重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。新的临时性的URI 应当在响应的 Location 域中返回。除非这是一个HEAD 请求,否则响应的实体中应当包含指向新的URI 的超链接及简短说明。因为部分浏览器不能识别307响应,因此需要添加上述必要信息以便用户能够理解并向新的 URI 发出访问请求。如果这不是一个GET 或者 HEAD 请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。
通过这篇文章深化了对于get post的理解
get主要还是用于从服务器上查询一些保密性要求不高的信息,它也向服务器发送数据,但是这些数据只是为了查询而使用的。而post则是倾向于向服务器添加数据。
具体区别如下:
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
分享到:
相关推荐
很多VFP程序员都希望可视类,甚至不可视类,转为源代码PRG, 以方便调试及跟踪,这个小程序就能如你所愿! 它可以把整个类库中的所有类(包括可视类/不可视类), 独个转为PRG。 它也是VFP写的,高手可对它加以改进...
程序.prg
IF gntime(2,1) THEN gnbelongto=.T. &&确定归属空间 DO WHILE gnainiraw IF EMPTY(acurrency(gnainiraw,2))=.F. &&数值型数据为0时,EMPTY()返回.T. gncurrency=acurrency(gnainiraw,2) gnallisnull=.F. ...
关于PRG文件说明实用.pdf
CX_PRG_610\注册号, 绝对保证能用,要软件的请联系,呵呵
DIRECTX 2D PRG游戏 C++ 完整有所有的游戏的要点 寻路 踩地雷 碰撞 对话 地图 混音 需要源码的联系我 anewhuahua@126.com
DIRECTX 2D PRG游戏 C++ 完整有所有的游戏的要点
PRG-1100,1101,1120 变送器、电流源输入检测端隔离栅 手册doc,PRG-1100,1101,1120 变送器、电流源输入检测端隔离栅 手册
PRG-1200,1220 4-20mA输出操作端隔离栅 手册doc,PRG-1200,1220 4-20mA输出操作端隔离栅 手册
STM8S005,仪表步进电机驱动,摩托车仪表方案,转速、车速、水温、油温显示,详询xbj1971@163.com
一进一出:PRG-4000-R 热电阻输入/热电阻输出隔离式安全栅doc,一进一出:PRG-4000-R 热电阻输入/热电阻输出隔离式安全栅
POST/REQUEST/GET (PRG) 模式通过永远不允许用户进入已发送 POST 数据的页面来消除这种可能性。 简单地说,无论何时您想要 POST 数据,您都可以获取它,然后立即重定向它们。 您可以使用 HTTP1.1 303 进行重定向,...
去掉VFP工具栏停靠时产生的边框,示例为停靠上边时的情况。
PRG-1200-H 4-20mA输出(HART),操作端隔离栅 手册doc,PRG-1200-H 4-20mA输出(HART),操作端隔离栅 手册
prg01.cpp
prg02.cpp
prg1390.py
主要是展示了类的操作,源码共包含5个类,人物与怪物的对打,升级 等等。。。对于刚学习类的初学者非常适合,并且有很详细的注解
一进一出:PRG-5000-M 热电阻输入/热电阻输出隔离式安全栅doc,一进一出:PRG-5000-M 热电阻输入/热电阻输出隔离式安全栅
Rails::Prg(重定向后获取) 安全应用程序禁用浏览器历史记录和内部缓存。 不幸的是,当遵循标准 Rails 模式显示错误时,这会导致大多数浏览器出现问题。 作为 Rails 开发人员,我们从来没有真正看到过问题,因为...