Post和Get差异
GET和POST差別例如以下:
1,生成方式
get方式有四種:1)直接在URL地址欄中輸入URL。2)網(wǎng)頁中的超鏈接。3)form中method為get。
4)form中method為空時。默認是get提交。
post僅僅知道有一種:form中method屬性為post。
2、數(shù)據(jù)傳送方式
get方式:表單數(shù)據(jù)存放在URL地址后面。全部get方式提交時HTTP中沒有消息體。
post方式:表單數(shù)據(jù)存放在HTTP協(xié)議的消息體中以實體的方式傳送到server。
3、server獲取數(shù)據(jù)方式
GET方式:server採用request.QueryString來獲取變量的值。
POST方式:server採用request.Form來獲取數(shù)據(jù)。
4、傳送的數(shù)據(jù)量
GET方式:數(shù)據(jù)量長度有限制。一般不超過2kb。由于是參數(shù)傳遞,且在地址欄中。故數(shù)據(jù)量有限制。
POST方式:適合大規(guī)模的數(shù)據(jù)傳送。
由于是以實體的方式傳送的。
5、安全性
GET方式:安全性差。由于是直接將數(shù)據(jù)顯示在地址欄中,瀏覽器有緩沖,可記錄用戶信息。所以安全性低。
POST方式:安全性高。由于post方式提交數(shù)據(jù)時是採用的HTTP post機制。是將表單中的字段與值放置在HTTP HEADER內(nèi)一起傳送到ACTION所指的URL中,用戶是看不見的。
6、在用戶刷新時
GET方式:不會有不論什么提示、
POST方式:會彈出提示框,問用戶是否又一次提交。
詳解:
1.GET請求的數(shù)據(jù)會附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中)。以?切割URL和數(shù)據(jù)傳輸,參數(shù)之間以&相連,如:login.action?
name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。
假設數(shù)據(jù)是英文字母/數(shù)字,原樣發(fā)送。假設是空格,轉(zhuǎn)換為+,假設是中文/其它字符,則直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,當中%XX中的XX為該符號以16進制表示的ASCII。
POST把提交的數(shù)據(jù)則放置在是HTTP包的包體中。
2.設置參數(shù)的方式
Get:
String urlName = url + "?
" + params;
URL ?realUrl = new URL(urlName);
URLConnection conn = realUrl.openConnection();//打開和URL之間的連接
conn.connect();//建立實際的連接
Post:
URL ?realUrl = new URL(url);
URLConnection conn = realUrl.openConnection();//打開和URL之間的連接
conn.setDoOutput(true);//發(fā)送post請求必須設置例如以下兩行
conn.setDoInput(true);
PrintWriter out = new Printwriter(conn.getOutputStream());//獲取URLConnection對象相應的輸出流
out.print(params);//發(fā)送請求參數(shù)
版權(quán)聲明:本文博客原創(chuàng)文章。博客,未經(jīng)同意,不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的Post和Get差异的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA中的break[标签]conti
- 下一篇: word 2010中如何创建多级目录和多