注册
登录
提问时间:2017/9/12 16:14:45
GET请求
GET /books/sex=manname=Professional HTTP/1.1
Host www.wrox.com
User-Agent Mozilla/5.0 (Windows U Windows NT 5.1 en-US rv1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection Keep-Alive

注意最后一行是空行

POST请求
POST / HTTP/1.1
Host www.wrox.com
User-Agent Mozilla/5.0 (Windows U Windows NT 5.1 en-US rv1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type application/x-www-form-urlencoded
Content-Length 40
Connection Keep-Alive

name=Professional20Ajaxpublisher=Wiley

1、GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以分割URL和传输数据,多个参数用连接;例 如:login.actionname=hydddpassword=idontknowverify=E4BDA0 E5A5BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: E4BDA0E5A5BD,其中%XX中的XX为该符号以16进制表示的ASCII。
POST提交:把提交的数据放置在是HTTP包的包体中。

因此,GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变.

2、传输数据的大小:首先声明:HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。

而在实际开发中存在的限制主要有:

GET特定浏览器和服务器对URL长度有限制,例如 IE对URL长度的限制是2083字节(2K35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系 统的支持。
因此对于GET提交时,传输数据就会受到URL长度的 限制。
POST由于不是通过URL传值,理论上数据不受 限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。

3、安全性

POST的安全性要比GET的安全性高。比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为
(1)登录页面有可能被浏览器缓存;
(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击。

站大爷代理IP平台专业提供HTTP代理、HTTPs代理IP和Socks5代理IP服务,欢迎广大顾客朋友们前来咨询。
立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品