Post和Get差异
GET和POST差别例如以下:
1,生成方式
get方式有四种:1)直接在URL地址栏中输入URL。2)网页中的超链接。3)form中method为get。
4)form中method为空时。默认是get提交。
post仅仅知道有一种:form中method属性为post。
2、数据传送方式
get方式:表单数据存放在URL地址后面。全部get方式提交时HTTP中没有消息体。
post方式:表单数据存放在HTTP协议的消息体中以实体的方式传送到server。
3、server获取数据方式
GET方式:server採用request.QueryString来获取变量的值。
POST方式:server採用request.Form来获取数据。
4、传送的数据量
GET方式:数据量长度有限制。一般不超过2kb。由于是參数传递,且在地址栏中。故数据量有限制。
POST方式:适合大规模的数据传送。
由于是以实体的方式传送的。
5、安全性
GET方式:安全性差。由于是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低。
POST方式:安全性高。由于post方式提交数据时是採用的HTTP post机制。是将表单中的字段与值放置在HTTP HEADER内一起传送到ACTION所指的URL中,用户是看不见的。
6、在用户刷新时
GET方式:不会有不论什么提示、
POST方式:会弹出提示框,问用户是否又一次提交。
详解:
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:
String urlName = url + "?
" + params;
URL realUrl = new URL(urlName);
URLConnection conn = realUrl.openConnection();//打开和URL之间的连接
conn.connect();//建立实际的连接
Post:
URL
realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();//打开和URL之间的连接
conn.setDoOutput(true);//发送post请求必须设置例如以下两行
conn.setDoInput(true);
PrintWriter out = new Printwriter(conn.getOutputStream());//获取URLConnection对象相应的输出流
out.print(params);//发送请求參数
版权声明:本文博客原创文章。博客,未经同意,不得转载。
Post和Get差异的更多相关文章
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- BZOJ 3238: [Ahoi2013]差异 [后缀数组 单调栈]
3238: [Ahoi2013]差异 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 2326 Solved: 1054[Submit][Status ...
- Atitit 硬件 软件 的开源工作 差异对比
Atitit 硬件 软件 的开源工作 差异对比 1.1. 模块化,标准化,以及修改的便捷性1 1.2. 生产和发布成本 1 1.3. 3. 入行门槛搞2 1.4. 在软件业极度发达的今天,任何具 ...
- Javascript不同浏览器差异及兼容方法
原文链接:http://caibaojian.com/js-ie-different-from-firefox.html javascript的各种兼容就是为了解决不同浏览器的差异性,了解其中的差异能 ...
- web兼容学习分析笔记-margin 和padding浏览器解析差异
二.margin 和padding浏览器解析差异 只有默认margin的元素 <body>margin:8px margin:15px 10px 15px 10px(IE7) <b ...
- border:none 和border:0区别差异
border:none与border:0的区别体现为两点:一是理论上的性能差异,二是浏览器兼容性的差异. 性能差异: [border:0;]把border设为“0”像素效果等于border-width ...
- MySQL自动化运维之用mysqldump和mysqlbinlog实现某一数据库的每周全备和每天差异备份,并添加到执行计划【热备】
案例: 线上有一数据库,需要每周全备一次,每天差备一次[安全起见还是差备吧,不要增备,不要吝啬磁盘哦,而且差备恢复还很快] 1.每周对数据库hellodb做完全备份 crontab任务计划: * * ...
- python 小程序 比较目录间的差异
比较目录间的差异: I 只按照名称做了比较,如果目录的文件名称相同,但是内容不同脚本认为为相同文件 II 针对目录下面的目录没有循环比较,只是比较了目录的名称 import sys, os def d ...
- ORACLE如何比较两个数据库的差异
ORACLE怎么比较两个数据库的差异 方法1:使用PL-SQL工具 点击 工具->比较用户对象
- ThinkPHP5 与 ThinkPHP3.* 之间的使用差异
因为研究TP5时间不是很长,暂时先列以下几处差异: 1.过去的单字母函数已完全被替换掉,如下: S=>cache,C=>config,M/D=>model,U=>url,I=& ...
随机推荐
- Java网络编程注意事项3
如何使用POST请求和GET请求Web网站发送请求,下面的参考代码: import java.io.BufferedReader; import java.io.InputStream; import ...
- Android开发学习总结(六)—— APK反编译(转)
学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或 ...
- oracle学习笔记(转)
命令行操作:打开服务: services.msc启动Oracle: net start OracleOraHome92TNSListener net start OracleService实例 ...
- Python 摘录LinkedIn用户联系人
CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-18 @author: guaguastd @name: l ...
- JSP_include指令和<jsp:include>
包括三个文件:jsp_include.jsp, static.html, two.jsp 周边环境:tomcat7.0. myeclipse10 1.jsp_include.jsp <%@ pa ...
- Akka 简介与入门
Akka 简介与入门 http://www.thinksaas.cn/group/topic/344095/ 参考官网 http://akka.io/ 开源代码 https://github.co ...
- atitit.为什么技术的选择方法java超过.net有前途
atitit.为什么技术的选择方法java超过.net有前途 #----有没有法律依据不同的铜需求... 通常有开发效率,需要在稳定性.. 笔者 老哇爪 Attilax 艾龙, EMAIL:1466 ...
- Ruby 一些经常使用的细节
1.try 永远不会抛出异常 在 没有的时候 返回 nil province_id = Province.find_by_name(prov).try(:id) 2.find(:first, :con ...
- 第三十 访问财富进退自如 —Spring交易管理
6月16日本,明确. "应该留给追穷寇勇,不可沽名学霸王.天若有情天亦老,人间正道是沧桑." 有始有终.有往有还.进退自如乃Spring事务管理之道,也是万物生生不息.和谐共处之道 ...
- CSS3实现Tooltip提示框飞入飞出动画
原文:CSS3实现Tooltip提示框飞入飞出动画 我们见过很多利用背景图片制作的Tooltip提示框,但是缺点是扩展比较麻烦,要经常改动图片.还有就是利用多层CSS的叠加实现,但是效果比较生硬,外观 ...