有网友碰到这样的问题“RESTful之HTTP请求类型GET,POST”。小编为您整理了以下解决方案,希望对您有帮助:
解决方案1:
RESTFUL是网络应用设计风格与开发方式,基于HTTP,兼容XML与JSON格式。适用于移动互联网厂商提供业务接口,实现第三方应用调用移动网络资源,主要操作包括新增、变更与删除资源。
HTTP协议定义了与服务器交互的4种基本方法:GET、POST、PUT、DELETE。URL用于描述网络资源,GET与POST分别对应资源的查询与更新操作。GET安全且幂等,意味着操作不会修改资源,重复请求返回相同结果。幂等概念指多次进行相同操作的结果与单次操作一致。GET操作获取资源信息,而POST更新资源信息。
GET请求数据附于URL之后,参数之间通过&连接;POST则将数据置于HTTP包体中。理论上,GET数据量为1024字节,而POST无,IIS4中的最大值为80KB,IIS5为100KB。实际取决于浏览器及服务器配置,而非HTTP协议。
在ASP程序中,Request对象处理每个表单域时存在100KB。IIS 6.0默认设置ASP POST数据量最大为200KB,每个表单域为100KB。上传文件最大大小为4MB,请求头最大为16KB。IIS 6.0之前的版本没有这些。
在ASP中,服务端获取GET请求参数用Request.QueryString,POST请求参数则用Request.Form。JSP中使用request.getParameter()方法获取参数,但处理传值更为复杂。PHP中分别使用$_GET、$_POST和$_REQUEST获取GET、POST与所有请求参数。
POST比GET具有更高的安全性。GET将用户名与密码等敏感信息直接暴露于URL,可能引发缓存、历史记录查看与跨站请求伪造攻击。总结而言,GET用于资源查询,POST用于数据提交,两者发送机制不同,但本质上均为请求操作。