浅说Get请求和Post请求
Web 上最常用的两种 Http 请求就是 Get 请求和 Post 请求了。我们在做 java web 开发时,也总会在 servlet 中通过 doGet 和 doPost 方法来处理请求;更经常地,我们会在 doGet 方法的实现中调用 doPost 方法。尽管做了近两年的 web 开发,我对诸如 Get 请求和 Post 请求的基本概念仍不是十分了解。近日阅读《 javascript 高级程序设计》(很长时间没有看书了!),重新整理了一下 Get 请求和 Post 请求的概念,算是读书笔记吧。
Get 是从服务器上获取数据,这是最常见的请求类型。每次在浏览器中输入 URL 打开页面时,就是向服务器发送一个 Get 请求。 Get 请求的参数是用问号追加到 URL 结尾,后面跟着用&连接起来的名称/值对。比如网址 http://bt.neupioneer.com/viewthread.php?tid=87813 ,其中 tid 为参数名, 87813 为参数的值。在编程中,使用 Get 最多的地方就是超链接列表,其中的参数多是从数据库读出的字段拼接而成。在 Ajax 中,我们也经常使用 Get ,通过提取出页面的标签值,拼成串后构造一个 URL 。 Get 在使用上是有限制的, URL 的最大长度为 2KB ,因此,如果表单中包含textarea这样的大文本段,就不要用Get了。对于表单来说, Get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一一对应,通过URL 可以看到中传递的参数。因此,相比于 Post ,它是不安全的。
Post 的使用场合多是在表单提交的地方,因为和 Get 相比, Post 可以发送更多的数据,《 javascript 高级程序设计》中说最多可以发送2GB ,这多少让我不太相信,网上一些文章说 IIS4 中最大量为 80KB , IIS5 中为 100KB ,不知道 Tomcat 中的情况如何。 Post 是通过 HTTP Post 机制,将表单内各个字段与其内容放置在 HTML Header 内一起传送到 ACTION 属性所指的 URL 地址。 和 Get 相比, Post 的内容是不会在 URL 中显现出来的,这多少是安全一些的。 我在做登录这样的表单时,只是将请求方式设为 Post ,使得用户名和密码信息不在浏览器中显现,但不清楚的是,是否有更好的方法加密密码等信息(实在不知道如果请求不传到服务器的话,怎么对未知的请求加密,清楚的朋友不妨给个解决方案)。在 Ajax 中,如果要和服务器交互,记得加上 request.setRequestHeader(“Content-Type”,”application/x-www-urlencoded”); 这一脚本,尽管很多 Ajax 教材中都提到了这一点。另外要说的是,被传递的参数是要经过编码的。在 javascript 中,编码函数是 encodeURIComponent(xx) 。
浅说Get请求和Post请求的更多相关文章
- Ajax中get请求和post请求
我们在使用Ajax向服务器发送数据时,可以采用Get方式请求服务器,也可以使用Post方式请求服务器,那么什么时候该采用Get方式,什么时候该采用Post方式呢? Get请求和Post请求的区别: 1 ...
- slave IO流程之二:注册slave请求和dump请求
slave IO流程已经在http://www.cnblogs.com/onlyac/p/5815566.html中有介绍 这次我们要探索注册slave请求和dump请求的报文格式和主要流程. 一.注 ...
- loadrunner录制脚本如何选择使用get请求和post请求的方式
在loadrunner工具里录制脚本时常常会用到get请求和post请求,有关loadrunner常用的这两类的请求主要有: get请求: web_url 和 web_link post请求: web ...
- iOS开发网络篇—GET请求和POST请求
iOS开发网络篇—GET请求和POST请求 一.GET请求和POST请求简单说明 创建GET请求 // 1.设置请求路径 NSString *urlStr=[NSString stringWithFo ...
- 普通请求和ajax请求的区别
普通请求和ajax请求的区别? 下面的action返回一个json文件,文件内容为sts.*,data1
- iOS开发网络篇—GET请求和POST请求(转)
一.GET请求和POST请求简单说明 创建GET请求 1 // 1.设置请求路径 2 NSString *urlStr=[NSString stringWithFormat:@"http:/ ...
- GET请求和POST请求的区别
request获取请求参数 最为常见的客户端传递参数方式有两种: 浏览器地址栏直接输入:一定是GET请求: 超链接:一定是GET请求: 表单:可以是GET,也可以是POST,这取决与<form& ...
- 使用SoapUI工具做get请求和post请求接口测试
祝大家节日快乐啦. 之前写过的一篇帖子已经介绍了SoapUI工具的基本使用,所以在此不再重复讲解关于建工程.建测试套件.添加用例等操作,可查看该篇文章详解:http://www.cnblogs.com ...
- Ajax相关——get请求和post请求的区别
一.完整的URL由以下几部分组成: scheme:通信协议,常用的有:http/ftp. host:主机,服务器(计算机)域名或IP地址 port:端口,整数,可选,省略时使用默认端口,http的默认 ...
随机推荐
- java保留两位小数4种方法(转载)
喵喵最近经常遇到小数点保留的问题,转载一篇Java里面的几种小数点位数控制方法. 这是转载的原地址:https://www.cnblogs.com/chenrenshui/p/6128444.html ...
- 高可用Kubernetes集群-13. 部署kubernetes-dashboard
参考文档: Github介绍:https://github.com/kubernetes/dashboard Github yaml文件:https://github.com/kubernetes/d ...
- 拓扑排序(Topological Sort)
Graph 拓扑排序(Topological Sort) 假设一个应用场景:你用 C 编写了一个爬虫工具,其中有很多自定义的库:queue.c.queue.h.stack.c.stack.h.heap ...
- MyBatis3-动态SQL语句
MyBatis的动态SQL语句是基于OGNL表达式的.可以方便的在SQL语句中实现某些逻辑,总体说来MyBatis动态SQL语句主要有以下几类: 1.if语句(简单的条件判断). 2.choose(w ...
- 1083. List Grades (25)-简单的排序
给定区间[L,R],给出在这区间之内的学生,并且按照他们的成绩非升序的顺序输出. #include <iostream> #include <cstdio> #include ...
- 作业要求 20181204-5 Final阶段贡献分配规则及实施
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479 贡献规则 贡献分分配规则: 组内一共八名同学,贡献分共计80分. ...
- 【Alpha】第三次Scrum meeting
今日任务一览: 导航栏诞生 前期准备的Latex文本将撰写完毕 生成燃尽图的问题已经解决 姓名 今日完成任务 所耗时间 刘乾 用Github成功生成了燃尽图(真是不容易啊...),与架构师继续每日面基 ...
- Four-Operations
开发环境:Eclipse 结对小伙伴:201306114416 陈键 (http://www.cnblogs.com/be-the-one/) 201306114452 吴舒婷 (http://www ...
- 班级博客与coding地址
队名 队长 成员1 成员2 成员3 成员4 成员5 团队博客地址 奥特曼小分队 李全清 胡林状 王栋 孙杏子 孙乐 刘泽良 http://www.cnblogs.com/atmxfd/ 蜗牛上天队 仝 ...
- Objective-C runtime 机制
Runtime使用C语言结构体表示对象,用C语言函数表示方法,这些C语言函数和结构体被Runtime封装后,我们就可以在程序中执行创建,检查,修改类和对象和他们的方法 OC的Class其实是一个obj ...