- 浏览: 189945 次
- 性别:
- 来自: 上海
文章分类
最新评论
众所周知的http请求有两种:
get与post:
这两种请求的区别就是传参的参数放的位置不同,一个在Request URL,一个在Request Form Data。
如果是post请求,浏览器会自动将?a=1&b=2转化为a:1 b:2
第一个误区:post提交是安全的,因为他不在url中,所以看不到,但是如果使用IE8、chrome、fireFox,打开deBug,一样可以在Form Data中找到,并且还是键值对),如果硬要说安全,那就是url会被记录在web容器的日志中,而get是带参数的。如果日志服务器被黑了,这些参数就泄露了。
第二个误区:get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。这话半对半错,因为
1)URL不存在参数上限的说法。该问题实际是IE对URL有长度限制的问题(当然,fireFox和chrome也有提示,但是并没有阻止,没仔细研究)
2)HTTP协议规范也没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(http://support.microsoft.com/kb/q208427/)。对于其他浏览器,如Netscape等,理论上没有长度限制,其限制取决于操作系统的支持(操作系统的支持很重要,因为XP和WIN7都支持大URL,如果你的服务器是XP和WIN7系统,那么只要将Tomcat和Jetty(我使用的是这两种服务器)的HeaderBufferSize修改大一些,那么URL就能传大参数,但是Linux就悲剧了,会提示头文件过大)。因此我用血的教训告诉大家,最好不要用get提交大数据,服务器换了操作系统就OVER了。
第三个误区:URL长度限制是get提交的的长度限制。值注意这个限制是整个URL长度,而不仅仅是你的参数值数据长度(整个URL包括post提交所在的Form Data区)。
理论上post请求是没有长度限制的,他取决于服务器的配置,处理能力。
弄清楚运行环境的默认设定值有助于你的设计及对出现的问题做快速的解决。
当然,如果web2.0的系统。post提交的大小不用去考虑。
说了这么多,几乎都是说get的坏处,有以下几点好处:
一、get设计的初衷就是向服务器请求数据,而post才是向服务器请求数据。
二、表单处理中的GET方法有一个POST方法不具备的很大的优点:它创建了一个真正新的、完全不同的URL查询字符串。这样,用户现在可以把这一页记作书签。
三、每个GET提交被记录在WEB服务器日志中,数据集也被包括在内
转自http://xinyangwjb.iteye.com/blog/1323336
get与post:
这两种请求的区别就是传参的参数放的位置不同,一个在Request URL,一个在Request Form Data。
如果是post请求,浏览器会自动将?a=1&b=2转化为a:1 b:2
第一个误区:post提交是安全的,因为他不在url中,所以看不到,但是如果使用IE8、chrome、fireFox,打开deBug,一样可以在Form Data中找到,并且还是键值对),如果硬要说安全,那就是url会被记录在web容器的日志中,而get是带参数的。如果日志服务器被黑了,这些参数就泄露了。
第二个误区:get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。这话半对半错,因为
1)URL不存在参数上限的说法。该问题实际是IE对URL有长度限制的问题(当然,fireFox和chrome也有提示,但是并没有阻止,没仔细研究)
2)HTTP协议规范也没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(http://support.microsoft.com/kb/q208427/)。对于其他浏览器,如Netscape等,理论上没有长度限制,其限制取决于操作系统的支持(操作系统的支持很重要,因为XP和WIN7都支持大URL,如果你的服务器是XP和WIN7系统,那么只要将Tomcat和Jetty(我使用的是这两种服务器)的HeaderBufferSize修改大一些,那么URL就能传大参数,但是Linux就悲剧了,会提示头文件过大)。因此我用血的教训告诉大家,最好不要用get提交大数据,服务器换了操作系统就OVER了。
第三个误区:URL长度限制是get提交的的长度限制。值注意这个限制是整个URL长度,而不仅仅是你的参数值数据长度(整个URL包括post提交所在的Form Data区)。
理论上post请求是没有长度限制的,他取决于服务器的配置,处理能力。
弄清楚运行环境的默认设定值有助于你的设计及对出现的问题做快速的解决。
当然,如果web2.0的系统。post提交的大小不用去考虑。
说了这么多,几乎都是说get的坏处,有以下几点好处:
一、get设计的初衷就是向服务器请求数据,而post才是向服务器请求数据。
二、表单处理中的GET方法有一个POST方法不具备的很大的优点:它创建了一个真正新的、完全不同的URL查询字符串。这样,用户现在可以把这一页记作书签。
三、每个GET提交被记录在WEB服务器日志中,数据集也被包括在内
转自http://xinyangwjb.iteye.com/blog/1323336
发表评论
文章已被作者锁定,不允许评论。
-
TIME_WAIT、CLOSE_WAIT、
2017-08-23 14:36 516netstat -n | awk '/^tcp/ {++S[$ ... -
ActiveMQ的集群多种部署方式
2016-08-15 16:56 679ActiveMQ的多种部署方式 ... -
Bootstrap
2016-03-24 12:22 437http://expo.bootcss.com/ Boot ... -
http协议三次握手
2016-03-11 10:57 335TCP(Transmission Control Protoc ... -
dubbo 与zookeeper
2016-01-15 09:53 830详见 http://dubbo.io/ http:/ ... -
js中undefined,null,NaN的区别
2015-04-21 11:43 555typeof 返回字符串,有六种可能:"number ... -
jsp自定义标签
2015-04-17 11:06 420自定义标签库并不是 JSP 2 才出现的,JSP 1.1 版中 ... -
java jdk 原生http请求工具类
2015-01-26 14:48 782import java.io.BufferedReader; ... -
通信协议概览
2015-01-26 11:07 398在分布式服务框架中, ... -
Hessian 分布式?
2015-01-26 12:03 1235Hessian 是由 caucho 提供的 ... -
http client 方式调用webservice
2015-01-21 10:47 810对于初学者而言,拼装soap请求报文似乎不是很简单的事情,但这 ... -
Xfire 笔记
2015-01-20 16:29 562mark,待补充 -
访问webservice的几种方式
2015-01-20 16:25 716Web service一般就是用SOAP协议通过HTTP来调用 ... -
jax-ws(jws)
2015-01-16 11:08 633Java SE 6封装了JAX-WS(Java API for ... -
axis2
2015-01-15 10:31 342一 sts axis2 方式 生成webservice b ... -
webservice
2015-01-14 12:58 636WebService是一种跨编程语 ... -
跨域请求
2014-12-19 14:42 615设域名是:http://www.example.com/ 如果 ... -
关于url 编码
2014-12-17 16:35 375一、问题: ... -
SiteMesh框架
2014-04-30 15:34 533SiteMesh框架是OpenSymphony团队开发的一个非 ... -
判断request来自Ajax请求(异步)还是传统请求(同步)
2014-04-08 11:55 858在服务器端判断request来自Ajax请求(异步)还是传统请 ...
相关推荐
* 对资源的增、删、改、查操作,实际上都可以通过GET/POST完成,不需要用到PUT和DELETE方法。 * 早期的Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计,导致一个比较严重的问题是传统的Web MVC...
9. GET请求传参长度的误区:澄清了关于GET请求参数大小的误解,指出HTTP协议本身未规定GET和POST的长度限制,大小限制通常是由于浏览器和服务器的实现而产生的。 10. vue.js:虽然文档重点介绍了网络和HTTP协议相关...
4. **方法使用不当**:例如使用`POST`方法获取资源列表,这不符合RESTful 设计中的规范,应使用`GET`方法。 #### 改进措施 为了改进当前项目的API设计,可以采取以下措施: 1. **统一命名规则**:确保API命名规范...
1. **GET 请求参数长度误区**:GET 和 POST 请求的长度限制并不是由 HTTP 协议规定,而是由浏览器和 Web 服务器决定。GET 请求的参数限制在于 URL 的长度,不同浏览器和服务器有不同的限制,如 IE 最大 2083 字节,...
1. **将GET替换为POST:** 由于HTTP POST请求不会被缓存,因此将其作为获取动态数据的主要手段能有效避免缓存导致的数据不一致问题。 2. **添加缓存破坏参数:** 如果无法改变现有的API设计,可以在GET请求的URL后面...
2. `Access-Control-Allow-Methods`:此响应头指明了允许的HTTP请求方法(如GET、POST、OPTIONS等)。 3. `Access-Control-Allow-Credentials`:当设置为`true`时,表示允许发送Cookie。但需要注意,此时`Access-...
然而,实现RESTful服务也需要注意避免一些常见的设计误区,比如误用HTTP GET方法进行状态修改的操作,这违反了HTTP方法的语义,可能导致安全和效率问题。正确使用HTTP方法是保证REST服务规范性和健壮性的关键。 总...
- 设置请求类型(GET/POST)、URL和异步标志。 - 指定`onreadystatechange`事件处理器。 - 发送请求。 - 在处理器中检查状态码和响应文本。 ### 结论 通过以上分析,我们可以看出,在JSP学生信息管理系统中实现...
它基于HTTP协议,利用其方法(GET、POST、PUT、DELETE等)来操作资源,实现系统的可伸缩性、可复用性和性能优化。书中阐述了如何将REST原则应用于日常工作中,使其成为解决web-based集成问题的有效工具。作者们通过...
4. **HTTP协议**:理解HTTP的工作原理和请求/响应模型,包括HTTP方法(GET、POST等)、状态码、头部信息等,这对于调试和优化网页至关重要。 5. **浏览器工作原理**:了解浏览器如何解析HTML、CSS,执行JavaScript...
Get方式在提交表单时相比Post方式,安全性较低。中文域名注册需有英文域名作为基础。域名层次从左至右表示层次从低到高。这些都是常见的电子商务网站建设和网络基础知识误区。 八、简答题 电子商务网站在功能上,...
问题在于,描述中提到的Ajax代码没有明确指定请求方式,即GET或POST。默认情况下,$.ajax()会使用异步请求。然而,在某些情况下,开发者可能需要使用同步请求,特别是当需要等待服务器返回结果后再执行后续操作时。...
1. **资源导向(Resource-Oriented)**:REST服务围绕资源进行设计,每个资源都有一个唯一的URL标识,通过HTTP方法(如GET、POST、PUT、DELETE)对这些资源进行操作。 2. **无状态(Stateless)**:每次请求都应...
RESTful 架构强调资源的统一接口,并使用 HTTP 方法(GET、POST、PUT、DELETE 等)来表示对资源的操作。 - **RESTful API 设计**:良好的 RESTful API 应遵循以下原则: - URL 应该简洁明了,代表一个资源。 - ...
- **解释**:这里的“*”可以替换为GET或POST。这两种方法分别用于不同的场景:GET通常用于查询请求,并且会将参数附加在URL之后;POST则常用于提交数据到服务器,适用于敏感信息的传输。 ### 11. 图片替代文本 - *...
3. **请求与响应**:说明如何发起请求,包括HTTP方法(如GET、POST、PUT、DELETE等)、URL路径、请求头、请求体以及预期的响应格式。 4. **参数**:详述API调用所需的输入参数,包括查询参数、路径参数、请求头参数...
常见的方法包括`GET`、`POST`、`PUT`等,而`SET`不是HTTP标准定义的请求方法之一。 ### 8. 数据库事件的作用 数据库事件是在预定的时间或条件下触发的数据库操作。与数据库中的表或其他数据对象不同,事件主要用于...
- **字典操作**:包括`get`、`setdefault`、`keys`、`values`等方法,以及`in`关键字用于检查键是否存在。 #### 五、元组(tuple) - **元组概述**:元组与列表类似,但元素不可更改,适用于不需要修改的数据集合。 ...