get和post请求有什么区别,post get 请求的区别

http://www.itjxue.com  2023-01-07 01:33  来源:未知  点击次数: 

浅谈get和post请求的区别

1)Get, 它用于获取信息,注意,他只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的,而稍后会提到的Post它是可以修改数据的,所以这也是两者差别之一了。

2)Post,它是可以向服务器发送修改请求,从而修改服务器的,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。

下面简述一下Get和Post区别:

1)Get请求的数据是放在HTTP包头中的,也就是URL之后,通常是像下面这样定义格式的,(而Post是把提交的数据放在HTTP正文中的)。

login.action?name=hydddpassword=idontknowverify=%E4%BD%E5%A5%BD

a,以?来分隔URL和数据;

b,以来分隔参数;

c,如果数据是英文或数字,原样发送;

d,如果数据是中文或其它字符,则进行BASE64编码。

2)GET提交的数据比较少,最多1024B,因为GET数据是附在URL之后的,而URL则会受到不同环境的限制的,比如说IE对其限制为2K+35,而POST可以传送更多的数据(理论上是没有限制的,但一般也会受不同的环境,如浏览器、操作系统、服务器处理能力等限制,IIS4可支持80KB,IIS5可支持100KB)。

3)Post的安全性要比Get高,因为Get时,参数数据是明文传输的,而且使用GET的话,还可能造成Cross-site request forgery攻击。而POST数据则可以加密的,但GET的速度可能会快些。

所以综上几点,总结成下表:

get 和 post 请求的区分

get : 附加在url 地址栏,比较明显,容易被人看到

post: 数据在请求体里面,不容易看到,相对安全一些

get : 请求参数大小有限制(http 协议本身没有限定get 参数的大小,但是浏览器对 url 地址长度做了限定,习惯也说get 参数大小有限制)

post: 参数大小无限制

get : 一般在url 地址的后面

post: 一般在 request body 请求体里面

(不是特别严谨,get 也能放在 request body 请求体上,post 也能放在url 地址的后面,最终只要数据接收方去对应的位置解析就可以了)

get : 参数类型默认 application/x-www-form-urlencoded form序列化字符串格式

post: 常用有4种格式 application/x-www-form-urlencoded, application/json, multipart/form-data, application/xml

get : (本质作用是获取资源,资源没有变化,就可以使用缓存的)请求可以被缓存

post: (本质作用是创建资源)请求不会被缓存

get : 只支持发送 ascii 码类型的

post: 编码类型不限制

get : 只发1次 tcp 数据包

post: 一般会发两次 tcp 数据包(firefox 浏览器对 post 的实现也是发送一次数据包)

GET与POST的区别

??get与post都是将数据发送到服务器。

??(1)post请求包含更多的请求头,因为在在请求的body部分包含数据,所以需要在请求头多了几个描述数据的首部字段

??(2)post请求是先将请求头发送给服务器确认,然后在将数据发送到服务器。而get是直接将请求头与数据发送到服务器。get的总耗是post的2/3左右

??(3)post不能进行管道化传输,

??post不会作为URL的一部分,但是get会将请求信息得参数等显示在URL中

post 和get请求的区别

1.get请求的参数会放在url地址后面,而post请求的参数在请求体当中。

2.get请求的参数有大小限制,post请求的参数没有大小限制。

3.get请求没有post请求安全,会被浏览器记录。

面试中经常问到这个问题。

post和get有什么不同?

一、区别与应用: Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下: 1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。 4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。 5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。 6、Get是Form的默认方法。 二、从HTML中发送数据,在ASP中如何接收? 在form表单的action属性值里面有一个相对路径指向asp文件。就是用这个asp文件来接收和处理的

get和post请求的区别

1、安全性不同:GET方法用于信息获取,它是安全的(安全:指非修改信息,如数据库方面的信息),而POST方法是用于修改服务器上资源的请求。

2、特点不同:GET请求的数据会附在URL之后,而POST方法提交的数据则放置在HTTP报文实体的主体里,所以POST方法的安全性比GET方法要高。

3、传输的数据量不同:GET方法传输的数据量一般限制在2KB,而Chrome,FireFox浏览器理论上对于URL是没有限制的,它真正的限制取决于操作系统本身;POST方法对于数据大小是无限制的,真正影响到数据大小的是服务器处理程序的能力。

(责任编辑:IT教学网)

更多

相关网站经济文章

推荐网站经济文章