移动端网络基础--HTTP
2015-12-04 14:21
561 查看
《HTTP权威指南》
一、 状态码 ---- 302
a) RFC1945(http://tools.ietf.org/html/rfc1945#page-34),HTTP1.0中描述302:如果客户端发出POST请求后,收到服务端的302状态码,那么不能自动的向新的URI发送重复请求,必须跟用户确认是否该重发,因为第二次POST时,环境可能已经发生变化,POST操作会不符合用户预期。但是,很多浏览器在这种情况下都会把POST请求变为GET请求。
b) RFC2616(http://tools.ietf.org/html/rfc2616#section-10.3.3),
也就是HTTP1.1在介绍302时说,如果客户端发出非GET、HEAD请求后,收到服务端的302状态码,那么就不能自动的向新URI发送重复请求,除非得到用户的确认。但是很多浏览器把302当做303处理了。
二、 状态码– 303和307
a) HTTP1.1把这种POST变GET的行为纳入了RFC文档;HTTP1.1新加入303和307状态吗
HTTP协议状态码
100 (继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议)请求者已要求服务器协议,服务器已确认并准备切换。
2XX (成功)
表示成功处理了请求的状态码
代码 说明
200 (成功)服务器已成功处理了请求。通常,这表示服务器了请求的网页。
201 (已创建)请求成功并且服务器创建了新的资源
202 (已接受)服务器已接受请求,但尚未处理。
203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容)服务器成功处理了请求,但没有返回任何内容。
205 (重置内容)服务器成功处理了请求,但没有返回任何内容。
206 (部分内容)服务器成功处理了部分GET请求。
3XX(重定向)
表示要完成请求,需要进一步操作。通常,这些状态码用来重定向。
代码 说明
300 (多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者选择一项操作,或提供操作列表供请求者选择。
301 (永久移动)请求的网页已永久移动到新的位置。服务器返回此响应时,会自动将请求者转移到新的位置。
302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置进行以后的请求。
303 (查看其他位置)请求者应当对不同的位置使用单独的 GET
请求来检索响应时,服务器返回此代码。
304 (未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
305 (使用代理)请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向)
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
400 (错误请求)服务器不理解请求的语法。
500 (服务器内部错误)
服务器遇到错误,无法完成请求。
一、 状态码 ---- 302
a) RFC1945(http://tools.ietf.org/html/rfc1945#page-34),HTTP1.0中描述302:如果客户端发出POST请求后,收到服务端的302状态码,那么不能自动的向新的URI发送重复请求,必须跟用户确认是否该重发,因为第二次POST时,环境可能已经发生变化,POST操作会不符合用户预期。但是,很多浏览器在这种情况下都会把POST请求变为GET请求。
b) RFC2616(http://tools.ietf.org/html/rfc2616#section-10.3.3),
也就是HTTP1.1在介绍302时说,如果客户端发出非GET、HEAD请求后,收到服务端的302状态码,那么就不能自动的向新URI发送重复请求,除非得到用户的确认。但是很多浏览器把302当做303处理了。
二、 状态码– 303和307
a) HTTP1.1把这种POST变GET的行为纳入了RFC文档;HTTP1.1新加入303和307状态吗
HTTP协议状态码
100 (继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 (切换协议)请求者已要求服务器协议,服务器已确认并准备切换。
2XX (成功)
表示成功处理了请求的状态码
代码 说明
200 (成功)服务器已成功处理了请求。通常,这表示服务器了请求的网页。
201 (已创建)请求成功并且服务器创建了新的资源
202 (已接受)服务器已接受请求,但尚未处理。
203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容)服务器成功处理了请求,但没有返回任何内容。
205 (重置内容)服务器成功处理了请求,但没有返回任何内容。
206 (部分内容)服务器成功处理了部分GET请求。
3XX(重定向)
表示要完成请求,需要进一步操作。通常,这些状态码用来重定向。
代码 说明
300 (多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者选择一项操作,或提供操作列表供请求者选择。
301 (永久移动)请求的网页已永久移动到新的位置。服务器返回此响应时,会自动将请求者转移到新的位置。
302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置进行以后的请求。
303 (查看其他位置)请求者应当对不同的位置使用单独的 GET
请求来检索响应时,服务器返回此代码。
304 (未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
305 (使用代理)请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
307 (临时重定向)
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
400 (错误请求)服务器不理解请求的语法。
500 (服务器内部错误)
服务器遇到错误,无法完成请求。
相关文章推荐
- Xcode7.1请求网络数据
- epoll + 多线程实现并发网络连接处理
- C# BackgroundWorker的使用【转-http://www.cnblogs.com/tom-tong/archive/2012/02/22/2363965.html】
- 一个基于Event Poll(epoll)的TCP Server Framework,浅析epoll
- HTTP协议详解
- 【转载】HTTP协议详解
- XMPP学习——3、XMPP协议学习补充
- TCP的拥塞控制
- 网络处理器
- TCP/IP,Http,Socket的区别
- HTTP协议详解
- 网络编程总结
- matalb神经网络工具箱函数--不能编译
- iOS网络监测方法
- iOS网络监测方法
- 使用开源项目Asynchttpclient的GET_POST访问网络,上传文件
- 【网络编程基础】Linux下进程通信方式(共享内存,管道,消息队列,Socket)
- 使用HttpClient向服务器端提交数据
- TCP、UDP、HTTP、SOCKET之间的区别
- XUtils框架中HttpUtils使用Get请求时总是返回相同信息的问题解决,xutilshttputils