前端ajax中运用post请求和get请求之于session验证

首先我们来看下ajax两种请求的区别:

Ajax中POST和GET的区别
Get和Post都是向服务器发送的一种请求,只是发送机制不同。

1. GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的。

2. 首先是"GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。

3. GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全问题。而POST方式相对来说就可以避免这些问题。

get请求和post请求在服务器端的区别:

4. 在客户端使用get请求时,服务器端使用Request.QueryString来获取参数,而客户端使用post请求时,服务器端使用Request.Form来获取参数.
HTTP标准包含这两种方法是为了达到不同的目的。POST用于创建资源,资源的内容会被编入HTTP请示的内容中。例如,处理订货表单、在数据库中加入新数据行等。
当请求无副作用时(如进行搜索),便可使用GET方法;当请求有副作用时(如添加数据行),则用POST方法。一个比较实际的问题是:GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。

若符合下列任一情况,则用POST方法:

* 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。
* 若使用GET方法,则表单上收集的数据可能让URL过长。
* 要传送的数据不是采用7位的ASCII编码。

若符合下列任一情况,则用GET方法:

* 请求是为了查找资源,HTML表单数据仅用来帮助搜索。
* 请求结果无持续性的副作用。
* 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。

之前在做项目的时候,一味使用post请求来进行后端传输数据,但在校验session这个问题上翻车了,在网上查了很多资料,大概意思就是跨域请求导致的,ajax在用post请求时每次的session都会改变,在此后,但凡做请求数据的请求是一般用get请求,一方面请求内容不多,二方面也不操作数据库,后面如果有更好的解决方案再续

原文地址:https://www.cnblogs.com/dongxixi/p/11013820.html

时间: 2024-10-26 05:49:00

前端ajax中运用post请求和get请求之于session验证的相关文章

ajax中的put请求和post请求传data值的区别

put请求可以传对象 let amount= { expenseAccountId:this.id, dressBaseList:[{ purchasePrice:this.changeReimbursement, sampleDressId:params.row.sampleDressId }] post或get请求必须转换为字符串类型 let amount= { expenseAccountId:this.id, dressBaseList:[{ purchasePrice:this.cha

iOS开发中的Get请求和POST请求

//Get请求一般为不涉及到用户的账号密码的网络请求,其中Get请求是等请求内容回来之后,才可以进行下一步的操作 - (void)requestWithGet{ //Get请求: //1.设置请求路径 NSString * urlStr = [NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.nameTextField.text,self.pa

Ajax中get请求和post请求

我们在使用Ajax向服务器发送数据时,可以采用Get方式请求服务器,也可以使用Post方式请求服务器,那么什么时候该采用Get方式,什么时候该采用Post方式呢? Get请求和Post请求的区别: 1.使用Get请求时,请求所带的参数会跟在URL后传递,而Post请求则是作为HTTP消息的实体内容发送给WEB服务器. 2.使用Get请求发送数据量小,通常不能大于2KB:而Post请求发送数据量大,理论上不受限制. 3.Get方式请求的数据会被浏览器缓存起来,可从浏览器的历史记录中读取到这些数据,

AJAX中出现两次请求,OPTIONS请求和GET请求

在项目中发现ajax中出现两次请求,OPTIONS请求和GET请求,得到的数据出错,所以想要去掉OPTIONS请求. ajax请求如下: ajaxRequestGet: function (lastPath, requestParams, successFun) { $.ajax({ headers: { 'GISTTOKEN': getToken() }, url : this.baseUrl+lastPath, type : "get", data: requestParams,

Ajax相关——get请求和post请求的区别

一.完整的URL由以下几部分组成: scheme:通信协议,常用的有:http/ftp. host:主机,服务器(计算机)域名或IP地址 port:端口,整数,可选,省略时使用默认端口,http的默认端口是80. path:路径,由零或多个"/"符号隔开的字符,一般用来表示主机的一个目录或者文件地址 query:查询,可选,用于给动态网页(如用CGI.ISAPI.PHP/ASP/JSP/ASP.NET等技术制作的网页)传递参数,用"&"符号隔开,每个参数的名

浅说Get请求和Post请求

Web 上最常用的两种 Http 请求就是 Get 请求和 Post 请求了.我们在做 java web 开发时,也总会在 servlet 中通过 doGet 和 doPost 方法来处理请求:更经常地,我们会在 doGet 方法的实现中调用 doPost 方法.尽管做了近两年的 web 开发,我对诸如 Get 请求和 Post 请求的基本概念仍不是十分了解.近日阅读< javascript 高级程序设计>(很长时间没有看书了!),重新整理了一下 Get 请求和 Post 请求的概念,算是读书

iOS开发网络篇—GET请求和POST请求

iOS开发网络篇—GET请求和POST请求 一.GET请求和POST请求简单说明 创建GET请求 1 // 1.设置请求路径 2 NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text]; 3 NSURL *url=[NSURL URLWithString:u

HttpClient之Get请求和Post请求示例 编辑

HttpClient的撑持在HTTP/1.1标准中界说的一切的HTTP办法:GET, HEAD, POST, PUT, DELETE, TRACE 和 OPTIONS.每有一个办法都有一个对应的类:HttpGet,HttpHead,HttpPost,HttpPut,HttpDelete,HttpTrace和HttpOptions.一切的这些类均完成了HttpUriRequest接口,故可以作为execute的履行参数使用.恳求URI是可以使用恳求的一致资本标识符. HTTP恳求的URI包括一个协

GET请求和POST请求区别

GET请求和POST请求区别 1.GET被强制服务器支持 GET通常用于请求服务器发送某个资源.在HTTP/1.1中,要求服务器实现此方法;POST请求方法起初是用来向服务器输入数据的.在HTTP/1.1中,POST方法是可选被实现的,没有明确规定要求服务器实现. 2.浏览器对URL的长度有限制,所以GET请求不能代替POST请求发送大量数据 RFC 2616 中明确对 uri 的长度并没有限制.不过虽然在RFC中并没有对uri的长度进行限制,但是各大浏览器厂家在实现的时候限制了URL的长度,可