What are the key differences between GET and POST HTTP methods?
- 内容介绍
- 文章标签
- 相关推荐
本文共计683个文字,预计阅读时间需要3分钟。
GET和POST的区别:
1. 作用不同: - GET用于获取数据,不会改变服务器上的数据。 - POST用于发送数据,可能会在服务器上创建或修改数据。
2. 数据格式: - GET请求的数据会附加在URL后面,以查询字符串的形式存在。 - POST请求的数据则放在HTTP请求体中。
3. 安全性: - GET请求的安全性较低,因为URL中的数据可能会被浏览器保存或记录在历史记录中。 - POST请求的安全性较高,因为数据不会出现在URL中,不容易被截取。
4. 数据大小: - GET请求的数据大小有限制,通常不能超过URL的长度限制。 - POST请求可以传输大量的数据。
5. 可缓存性: - GET请求可以被缓存。 - POST请求通常不会被缓存。
从表面现象上看GET和POST的区别:
- GET请求:通常用于获取数据,例如查询用户信息、获取新闻列表等。例如:`login.a?username=John&password=12345`- POST请求:通常用于提交数据,例如注册用户、提交表单等。例如:`login.a`,数据在请求体中发送。
总结:GET请求的数据会附加在URL之后,以查询字符串的形式存在,数据大小有限制,安全性较低,适用于获取数据。POST请求的数据放在HTTP请求体中,数据大小不受限制,安全性较高,适用于提交数据。
get和post的区别
从表面现像上面看GET和POST的区别:
请求数据格式
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,
如:login.action?name=zhagnsan&password=123456。POST把提交的数据则放置在是HTTP包的包体中。
数据大小
GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据。其实这样说是错误的,不准确的:
“GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。
而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。
这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、
FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
安全性
POST的安全性要比GET的安全性高。
注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义,
比如:通过GET提交数据,用户名和密码将明文出现在URL上,
登录页面有可能被浏览器缓存
其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-siterequestforgery。
发送机制
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method
默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!
本文共计683个文字,预计阅读时间需要3分钟。
GET和POST的区别:
1. 作用不同: - GET用于获取数据,不会改变服务器上的数据。 - POST用于发送数据,可能会在服务器上创建或修改数据。
2. 数据格式: - GET请求的数据会附加在URL后面,以查询字符串的形式存在。 - POST请求的数据则放在HTTP请求体中。
3. 安全性: - GET请求的安全性较低,因为URL中的数据可能会被浏览器保存或记录在历史记录中。 - POST请求的安全性较高,因为数据不会出现在URL中,不容易被截取。
4. 数据大小: - GET请求的数据大小有限制,通常不能超过URL的长度限制。 - POST请求可以传输大量的数据。
5. 可缓存性: - GET请求可以被缓存。 - POST请求通常不会被缓存。
从表面现象上看GET和POST的区别:
- GET请求:通常用于获取数据,例如查询用户信息、获取新闻列表等。例如:`login.a?username=John&password=12345`- POST请求:通常用于提交数据,例如注册用户、提交表单等。例如:`login.a`,数据在请求体中发送。
总结:GET请求的数据会附加在URL之后,以查询字符串的形式存在,数据大小有限制,安全性较低,适用于获取数据。POST请求的数据放在HTTP请求体中,数据大小不受限制,安全性较高,适用于提交数据。
get和post的区别
从表面现像上面看GET和POST的区别:
请求数据格式
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,
如:login.action?name=zhagnsan&password=123456。POST把提交的数据则放置在是HTTP包的包体中。
数据大小
GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据。其实这样说是错误的,不准确的:
“GET方式提交的数据最多只能是1024字节",因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。
而实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。
这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、
FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
安全性
POST的安全性要比GET的安全性高。
注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不作数据修改,而这里安全的含义是真正的Security的含义,
比如:通过GET提交数据,用户名和密码将明文出现在URL上,
登录页面有可能被浏览器缓存
其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-siterequestforgery。
发送机制
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method
默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!

