get和post提交数据的差别
form表单提交,默认method = “get”,所以你在提交数据的时候,最好将此參数指定为method = “post”,否则你在提交大数据的时候,可能会出现异常:
十二月 31, 2014 2:32:45 下午 org.apache.coyote.http11.AbstractHttp11Processor process
信息: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
1.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?
切割URL和数据传输,參数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。
假设数据是英文字母/数字,原样发送,假设是空格,转换为+。假设是中文/其它字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,当中%XX中的XX为该符号以16进制表示的ASCII。
POST把提交的数据则放置在是HTTP包的包体中。
2.”GET方式提交的数据最多仅仅能是1024字节。理论上POST没有限制,可传较大量的数据。IIS4中最大为80KB,IIS5中为100KB”??。
以上这句是我从其它文章转过来的。事实上这样说是错误的,不准确的:
(1).首先是”GET方式提交的数据最多仅仅能是1024字节”,由于GET是通过URL提交数据。那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上。URL不存在參数上限的问题,HTTP协议规范没有对URL长度进行限制。
这个限制是特定的浏览器及server对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其它浏览器。如Netscape、FireFox等,理论上没有长度限制。其限制取决于操作系统的支持。
注意这是限制是整个URL长度。而不仅仅是你的參数值数据长度。[见參考资料5]
(2).理论上讲,POST是没有限制大小的,HTTP协议规范也没有进行限制大小,说“POST数据量存在80K/100K的限制大小”是不准确的,POST数据是没有限制的。起限制作用的是server的处理程序的处理能力。
对于ASP程序,Request对象处理每一个表单域时存在100K的数据长度限制。
但假设使用Request.BinaryRead则没有这个限制。
由这个延伸出去,对于IIS 6.0,微软出于安全考虑,加大了限制。我们还须要注意:
1).IIS 6.0默认ASP POST数据量最大为200KB,每一个表单域限制是100KB。
2).IIS 6.0默认上传文件的最大大小是4MB。
3).IIS 6.0默认最大请求头是16KB。
IIS 6.0之前没有这些限制。
所以上面的80K,100K可能仅仅是默认值而已(注:关于IIS4和IIS5的參数,我还没有确认),但肯定是能够自己设置的。
由于每一个版本号的IIS对这些參数的默认值都不一样。详细请參考相关的IIS配置文档。
get和post提交数据的差别的更多相关文章
- 向php提交数据及json
php中提交表单有两种方法,即: (1)利用表单提交 例: <form action="php文件名" method='提交方式'> username:<inpu ...
- from表单提交数据之后,后台对象接受不到值
如果SSH框架下,前段页面通过from表单提交数据之后,在后台对象显示空值,也就是接收不到值得情况下.首先保证前段输入框有值,这个可以在提交的时候用jQuery的id或者name选择器alert弹出测 ...
- ASP模拟POST请求异步提交数据的方法
这篇文章主要介绍了ASP模拟POST请求异步提交数据的方法,本文使用MSXML2.SERVERXMLHTTP.3.0实现POST请求,需要的朋友可以参考下 有时需要获取远程网站的某些信息,而服务器又限 ...
- ScriptedSandbox64.exe 在写Winform程序Debug时不停提交数据
抓包时发现不停的在提交数据,导致抓包内容看不到. 取消方式:Tools -> Options -> Debugging -> General -> Enable Diagnos ...
- 【http】四种常见的 POST 提交数据方式
来源:http://www.cnblogs.com/aaronjs/p/4165049.html HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT ...
- JavaScript跨域提交数据
1.通过jsonp跨域 场景:假设前台有JS方法"crossJS", 1.1发送请求http://www.xxx.com/?callback=crossJS.(创建一个scr ...
- 提交数据url太长导致提交失败
使用了dojo开发.在datagrid过滤的时候.为了让过滤好处理,直接设置为完全二叉树的方式来存查询条件.但是在提交数据的时候,默认是get?url的方式.结果导致条件选择一两个,url会特别长.然 ...
- 利用ajax的方式来提交数据到后台数据库及交互功能
怎么样用ajax来提交数据到后台数据库,并完成交互呢????? 一.当我们在验证表单的时候,为了阻止把错误的也发送到服务器,我们通常这样设置: $(function(){ var ...
- 四种常见的 POST 提交数据方式
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...
随机推荐
- bash脚本条件测试总结
一.if语句的结构 分为以下三种:单分支.双分支.多分支 单分支if语句 if CONDITION is True: then 分支 fi 双分支if语句 if CONDITION is True: ...
- ⑧bootstrap组件 文字图片 下拉菜单 按钮组 使用基础案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [转载] 详述三种现代JVM语言--Groovy,Scala和Clojure
转载自http://www.tuicool.com/articles/jYzuAv和http://www.importnew.com/1537.html 在我与Martin Fowler曾经合作呈现的 ...
- File I/O
File I/O Introduction We'll start our discussion of the UNIX System by describing the functions ...
- 为你解读2017年Java开发前景如何
社会上普遍认为程序员是一份高薪职业,确实,相较于其他行业,大多数工作1-3年的程序员年收入都在10-20万.据权威机构统计,在所有的软件开发类人才中对Java开发人才的需求量最大,达到了60%-70% ...
- key-value数据库-Redis
1.简介 Redis是完全开源的ANSI C语言编写.遵守BSD协议,高性能的key-value数据库. 1.1特点 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载 ...
- Python 爬虫练习(三) 利用百度进行子域名收集
不多介绍了,千篇一律的正则匹配..... import requests import re head = {'User-Agent': \ 'Mozilla/5.0 (Windows NT 6.3; ...
- python3学习笔记(0)
一.编程语言主要从以下几个角度分类:1.编译型和解释型2.静态语言和动态语言3.强类型定义语言和弱类型定义语言编译型:程序运行前先由负责翻译的程序将代码转换成可执行代码进行执行.例如C/C++.Pas ...
- php编译安装php-5.6
#php编译安装php-5.6 ,Nginx+php使用 #!/bin/sh #php编译安装php-5.6 ,Nginx+php使用 #定义函数,默认绿色输出 '#' 开头为红色 function ...
- 查找算法(Java实现)
1.二分查找算法 package other; public class BinarySearch { /* * 循环实现二分查找算法arr 已排好序的数组x 需要查找的数-1 无法查到数据 */ p ...