浅说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的默认 ...
随机推荐
- CentOS 6.8 安装vsftpd
简介: vsftpd是“very secure FTP daemon”的缩写,是一个完全免费的.开发源代码的ftp服务器软件. 特点: vsftpd是一款在Linux发行版本中最受推崇的FTP服务器程 ...
- unity过场动画组件Timeline
Timeline是Unity2017版本中新加入的功能,可以非常方便的进行场景动画的创建和修改,包括物体.声音.粒子.动画.特效.自定义Playable以及子Timeline等多种资源进行整合,从而能 ...
- 怎么理解LAXCUS大操作系统系统在云计算体系中的定位
最近一直在做laxcus大数据操作系统的分布式应用开发,因为做得多了,感触也多了.按照云计算三层定义,即iaas(基础设施即服务).paas(平台即服务).saas(软件即服务),laxcus属于pa ...
- leetcode之有序数组的平方
题目描述: 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 ...
- 蓝牙BLE实用教程(转载)
欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Ready 和 Smart 以及传统蓝牙之间是什么关 ...
- 《Linux内核分析》--扒开系统调用的三层皮 20135311傅冬菁
扒开系统调用的三层皮 20135311傅冬菁 一.内容分析 寄存器上下文(从用户态切换到内核态) 中断/int指令会在堆栈上保存一些寄存器的值(用户态栈顶地址..当时的状态字.当下 ...
- Linux内核分析——第一周学习笔记
20135313吴子怡.北京电子科技学院 chapter 1 知识点梳理 第一节 存储程序计算机工作模型 1.冯诺依曼体系结构:即具有存储程序的计算机体系结构.目前大多数拥有计算和存储功能的设备(智能 ...
- 【Leetcode】535. Encode and Decode TinyURL
Question: TinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/pro ...
- (转)CS0016: 未能写入输出文件
转自:http://www.pageadmin.net/article/20130305/537.html 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息 ...
- 「TJOI / HEOI2016」字符串
「TJOI / HEOI2016」字符串 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为 \(n\) 的字符串 \(s\),和 ...