java 如何选择GET 或POST

来源:互联网 发布:1911淘宝交易 编辑:程序博客网 时间:2024/06/11 09:33
GETPOST的主要区别表现在数据传递上

GET
在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,比如

http://ww.test.com/login?username=123&pwd=234&type=JSON

由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB

②POST
发给服务器的参数全部放在请求体
理论上,POST传递的数据量没有限制(具体还得看服务器的处理能力)


选择GETPOST的建议

如果要传递大量数据,比如文件上传,只能用POST请求
GET的安全性比POST要差些,如果包含机密\敏感信息,建议用POST
如果仅仅是索取数据(数据查询),建议使用GET
如果是增加、修改删除数据,建议使用POST
GET请求跟随在URL之后的请求长度是有限的,过长的请求参数,或如文件上传这类的大量数据就不适合GET请求,而应该改用POST
GET请求的请求参数会出现在地址栏上,敏感性或有安全性考虑的请求参数(如信用卡号,用户名,密码等)就不应该使用GET请求来发送。
POST请求的参数不会出现在地址栏上,所以无法加入浏览器的书签中(Bookmark),如果有些页面是根据请求参数来作不同的画面呈现(如论坛的文章发表),而你希望可以让用户设定书签,以便日后可以直接点击书签浏览,则应该使用GET请求。
有些浏览器会依据为你工作来缓存(Cache)数据,如果网址是相同的URL,则会直接从浏览器的缓存中获取数据,而不会真正发送请求至服务器上查询最新的数据,如果不希望服务器状态改变了,而浏览器仍从缓存中取得旧数据,则可以改用POST请求(GET请求也可以避免缓存,例如在网址上附上时间戳,让每次GET请求的地址都不相同)