當前位置:第一POS網 > pos機知識點 >

get和post的機制

瀏覽:55 發布日期:2023-05-11 00:00:00 投稿人:佚名投稿

1、表單提交中get和post方式的區別

表單提交中get和post方式的區別有5點
1.get是從服務器上獲取數據,post是向服務器傳送數據。
2.get是把參數數據
隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTPpost機制,將表單內各
個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3.對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。
4.get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5.get安全性非常低,post安全性較高。

HTTP請求:get與post方法的區別
HTTP
定義了與服務器交互的不同方法,最基本的方法是 get 和 post。事實上 get 適用于多數請求,而保留 post僅用于更新站點。根據
HTTP 規范,get 用于信息獲取,而且應該是安全的和冪等的。所謂安全的意味著該操作用于獲取信息而非修改信息。換句話說,get
請求一般不應產生副作用。冪等的意味著對同一
URL的多個請求應該返回同樣的結果。完整的定義并不像看起來那樣嚴格。從根本上講,其目標是當用戶打開一個鏈接時,她可以確信從自身的角度來看沒有改變
資源。比如,新聞站點的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。反之亦然。
post請求就不那么輕松了。post 表示可能改變服務器上的資源的請求。仍然以新聞站點為例,讀者對文章的注解應該通過
post請求實現,因為在注解提交之后站點已經不同了(比方說文章下面出現一條注解);
在FORM提交的時候,如果不指定Method,則默認
為get請求,Form中提交的數據將會附加在url之后,以?分開與url分開。字母數字字符原樣發送,但空格轉換為“+“號,其它符號轉換為%XX,
其中XX為該符號以16進制表示的ASCII(或ISOLatin-1)值。get請求請提交的數據放置在HTTP請求協議頭中,而post提交的數據則
放在實體數據中;
get方式提交的數據最多只能有1024字節,而post則沒有此限制。
在表單里使用”post”和”get”有什么區別
在Form里面,可以使用post也可以使用get。它們都是method的合法取值。但是,post和get方法在使用上至少有兩點不同:
1、get方法通過URL請求來傳遞用戶的輸入。post方法通過另外的形式。
2、get方式的提交你需要用Request.QueryString來取得變量的值,而post方式提交時,你必須通過Request.Form來訪問提交的內容。
仔細研究下面的代碼。你可以運行之來感受一下:
代碼
〈!–兩個Form只有Method屬性不同–〉
〈FORM ACTION=“getpost.asp” METHOD=“get”?
〈INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”〉〈/INPUT〉
〈INPUT TYPE=“submit” VALUE=“Method=get”〉〈/INPUT〉
〈/FORM〉
〈BR〉
〈FORM ACTION=“getpost.asp” METHOD=“post”〉
〈INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”〉〈/INPUT〉
〈INPUT TYPE=“submit” VALUE=“Method=post”〉〈/INPUT〉
〈/FORM〉
〈BR〉
〈BR〉
〈% If Request.QueryString(“Text”) 〈〉 ““ Then %〉
通過get方法傳遞來的字符串是: “〈B〉〈%= Request.QueryString(“Text”) %〉〈/B〉“〈BR〉
〈% End If %〉
〈% If Request.Form(“Text”) 〈〉 ““ Then %〉
通過post方法傳遞來的字符串是: “〈B〉〈%= Request.Form(“Text”) %〉〈/B〉“〈BR〉
〈% End If %〉
說明
把上面的代碼保存為getpost.asp,然后運行,首先測試post方法,這時候,瀏覽器的url并沒有什么變化,返回的結果是:
通過post方法傳遞來的字符串是: "Hello World"
然后測試用get方法提交,請注意,瀏覽器的url變成了:
http://localhost/general/form/getpost.asp?Text=Hello+World
而返回的結果是:
通過get方法傳遞來的字符串是: "Hello World"
最后再通過post方法提交,瀏覽器的url還是:
http://localhost/general/form/getpost.asp?Text=Hello+World
而返回的結果變成:
通過get方法傳遞來的字符串是: "Hello World"
通過post方法傳遞來的字符串是: "Hello World"
提示
通過get方法提交數據,可能會帶來安全性的問題。比如一個登陸頁面。當通過get方法提交數據時,用戶名和密碼將出現在URL上。如果:
1、 登陸頁面可以被瀏覽器緩存;
2、 其他人可以訪問客戶的這臺機器。
那么,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。
建議
http://www.devdao.com/
在Form中,建議使用post方法。
get與post的區別2
get:是以實體的方式得到由請求URI所指定資源的信息,如果請求URI只是一個數據產生過程,那么最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。
post:用來向目的服務器發出請求,要求它接受被附在請求后的實體,并把它當作請求隊列中請求URI所指定資源的附加新子項,post被設計成用統一的方法實現下列功能:
1:對現有資源的解釋
2:向電子公告欄、新聞組、郵件列表或類似討論組發信息。
3:提交數據塊
4:通過附加操作來擴展數據庫
從上面描述可以看出,get是向服務器發索取數據的一種請求;而post是向服務器提交數據的一種請求,要提交的數據位于信息頭后面的實體中。
很理論化,但是很標準,method=“get”并不是從服務器上獲取數據,get和post 只是發送機制不同,并不是一個取一個發!
get方法會在IE地址欄里顯示表示你提交時候所帶的值;post方法不會
1、
get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過
HTTPpost機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
2、對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。兩種方式的參數都可以用Request來獲得。
3、get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
4、get安全性非常低,post安全性較高。
5、
〈form method="get" action="a.asp?b=b"〉跟〈form
method="get"action="a.asp"〉是一樣的,也就是說,action頁面后邊帶的參數列表會被忽視;而
〈formmethod="post" action="a.asp?b=b"〉跟〈form
method="post"action="a.asp"〉是不一樣的。
另外,get請求有如下特性:它會將數據添加到URL中,通過這種方式傳遞到服務器,通常利用一個問號?代表URL地址的結尾與數據參數的開端,后面的參數每一個數據參數以“名稱=值”的形式出現,參數與參數之間利用一個連接符&來區分。
post請求有如下特性:數據是放在HTTP主體中的,其組織方式不只一種,有&連接方式,也有分割符方式,可隱藏參數,傳遞大批數據,比較方便。
post 地址欄不會出現一大串?bjnghfgreygt這樣的東西
如果是get,就會出現了
1、
get 方法通過 URL 請求來傳遞用戶的數據,將表單內各字段名稱與其內容,以成對的字符串連接,置于 action 屬性所指程序的
url后,如http://www.mdm.com/test.asp?name=asd&passWord=sad,數據都會直接顯示在
url 上,就像用戶點擊一個鏈接一樣;post 方法通過 HTTP post 機制,將表單內各字段名稱與其內容放置在
HTML表頭(header)內一起傳送給服務器端交由
action屬性能所指的程序處理,該程序會通過標準輸入(stdin)方式,將表單的數據讀出并加以處理
2、 get 方式需要使用 Request.QueryString 來取得變量的值;而 post 方式通過 Request.Form 來訪問提交的內容
3、
get 方式傳輸的數據量非常小,一般限制在 2 KB 左右,但是執行效率卻比 post 方法好;而
post方式傳遞的數據量相對較大,它是等待服務器來讀取數據,不過也有字節限制,這是為了避免對服務器用大量數據進行惡意攻擊,根據微軟方面的說法,微
軟對用 Request.Form() 可接收的最大數據有限制,IIS 4 中為 80 KB 字節,IIS 5 中為 100 KB 字節
建議:除非你肯定你提交的數據可以一次性提交,否則請盡量用 post 方法
4、
get 方式提交數據,會帶來安全問題,比如一個登陸頁面,通過 get 方式提交數據時,用戶名和密碼將出現在
URL上,如果頁面可以被緩存或者其他人可以訪問客戶這臺機器,就可以從歷史記錄獲得該用戶的帳號和密碼,所以表單提交建議使用 post
方法;post方法提交的表單頁面常見的問題是,該頁面如果刷新的時候,會彈出一個對話框
1、get是把參數數據隊列加到提交表單的
ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTPpost機制,將表單內各個字段與其內容放置
在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
2、 對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。兩種方式的參數都可以用Request來獲得。
3、get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
4、get安全性非常低,post安全性較高。
5、
〈form method="get" action="a.asp?b=b"〉跟〈form
method="get"action="a.asp"〉是一樣的,也就是說,action頁面后邊帶的參數列表會被忽視;而
〈formmethod="post" action="a.asp?b=b"〉跟〈form
method="post"action="a.asp"〉是不一樣的。

一、指代不同

1、get:從指定的資源請求數據。

2、post:向指定的資源提交要被處理的數據。

二、安全性不同

1、get:GET 的安全性較差,因為所發送的數據是 URL 的一部分。

2、post:POST 比 GET 更安全,因為參數不會被保存在瀏覽器歷史或 web 服務器日志中。POST 請求不會被緩存,請求不會保留在瀏覽器歷史記錄中,POST 不能被收藏為書簽,請求對數據長度沒有要求。


三、數據限制不同

1、get:當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符)。

2、post:無限制。

參考資料來源:百度百科-HTTP請求

參考資料來源:百度百科-http

1. get是從服務器上獲取數據,post是向服務器傳送數據。

2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。

3. 對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。

4. get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。

5. get安全性非常低,post安全性較高。 $_GET[\\'提交的變量名\\'],$_POST[\\'提交的變量名\\']

2、html中get和post的區別和使用是什么?

二者區別和使用分別如下:
1、Get 方法通過 URL 請求來傳遞用戶的數據,將表單內各字段名稱與其內容,以成對的字符串連接,置于 action 屬性所指程序的 url 后,數據都會直接顯示在 url 上,就像用戶點擊一個鏈接一樣;
Post 方法通過 HTTP post 機制,將表單內各字段名稱與其內容放置在 HTML 表頭(header)內一起傳送給服務器端交由 action 屬性能所指的程序處理,該程序會通過標準輸入(stdin)方式,將表單的數據讀出并加以處理

3、post和get的區別是什么?

  意思不同。
  post:n. 崗位;郵件;標桿;vt. 張貼;公布;郵遞;布置;vi. 快速行進。做動詞的時候是實義動詞。
  get:n. 生殖;幼獸;vi. 成為;變得;到達;vt. 使得;獲得;受到;變成。做動詞的時候,可以是實義動詞,也可以是連系動詞,后面接表語,構成系表結構。
  例如:
  Soon they assigned him to a new post. (名詞)
  不久, 他們派他到一個新的工作崗位。
  The post on the building staggered violently in the wind. (名詞)
  樓上的標桿在風中猛烈的搖晃著。
  Post your feedback and tell us what you think. (動詞)
  寫下你的意見,并告訴我們你的想法。
  The ship was posted missing. (動詞)
  已貼出通告宣布該船失蹤。
  From whom shall I get comfort? (實義動詞)
  我從誰那兒能得到安慰呢?
  Only you study hard can you get good results. (實義動詞)
  只有肯努力,才能得到好的學習成績。
  A good friend will visit you in hospital and say “Get well soon ” and leave. (連系動詞)
  你的朋友在醫院看你的時候會說“快點好起來”。 1. get是從服務器上獲取數據,post是向服務器傳送數據。
2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。

建議:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;
2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式;   1.首先是"GET方法提交的數據最多只能是1024字節;POST是沒有巨細約束的。

  2.在PHP中,能夠用$_GET和$_POST分別獲取GET和POST中的數據,而$_REQUEST則能夠獲取GET和POST兩種懇求中的數據。值得留意的是,JSP中運用request和PHP中運用$_REQUEST都會有隱患。

  3.POST的安全性要比GET的安全性高。比方:通過GET提交數據,用戶名和暗碼將明文出現在URL上,因為(1)登錄頁面有也許被瀏覽器緩存,(2)檢查瀏覽器的歷史紀錄,那么就能夠拿到賬號和暗碼了,除此之外,運用GET提交數據還也許會形成Cross-site
request forgery進犯。

  總結一下,Get是向服務器發討取數據的一種懇求,而Post是向服務器提交數據的一種懇求,在FORM(表單)中,Method默以為"GET",實質上,GET和POST僅僅發送機制不一樣,并不是一個取一個發! POST和GET都是向服務器提交數據,并且都會從服務器獲取數據。
區別:
傳送方式:get通過地址欄傳輸,post通過報文傳輸。
傳送長度:get參數有長度限制(受限于url長度),而post無限制
建議:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;
2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式;
案例:一般情況下,登錄的時候都是用的POST傳輸,涉及到密碼傳輸,而頁面查詢的時候,如文章id查詢文章,用get 地址欄的鏈接為:article.php?id=11,用post查詢地址欄鏈接為:article.php, 不會將傳輸的數據展現出來。

4、GET和POST有什么區別

1. get是從服務器上獲取數據,post是向服務器傳送數據。
2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。

建議:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;
2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式

5、get和post的區別是什么?何時使用post?

1. get 是從服務器上獲取數據,post 是向服務器傳送數據。 get 請求返回 request - URI 所指出的任意信息。
Post 請求用來發送電子郵件、新聞或發送能由交互用戶填寫的表格。這是唯一需要在請求中發送body的請求。使用Post請求時需要在報文首部 Content - Length 字段中指出body的長度。
2. get 是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址,用戶看不到這個過程。
3. 對于 get 方式,服務器端用Request.QueryString獲取變量的值,對于 post 方式,服務器端用Request.Form獲取提交的數據。
4. get 傳送的數據量較小,不能大于2KB。post 傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。 用IIS過濾器的只接受get參數,所以一般大型搜索引擎都是用get方式。
5. get 安全性非常低,post 安全性相對較高。如果這些數據是中文數據而且是非敏感數據,那么使用 get;如果用戶輸入的數據不是中文字符而且包含敏感數據,那么還是使用 post 為好。

轉載請帶上網址:http://www.keemji.com/posji/138245.html

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 babsan@163.com 舉報,一經查實,本站將立刻刪除。
聯系我們
訂購聯系:小莉
微信聯系方式
地址:深圳市寶安區固戍聯誠發產業園木星大廈

公司地址:深圳市寶安區固戍聯誠發產業園木星大廈

舉報投訴 免責申明 版權申明 廣告服務 投稿須知 技術支持:第一POS網 Copyright@2008-2030 深圳市慧聯實業有限公司 備案號:粵ICP備18141915號

主站蜘蛛池模板: 日本高清在线播放| 十二以下岁女子毛片免费| 亚洲欧美一区二区三区| jizzjizzjizz国产| 欧美成人三级一区二区在线观看 | 欧美精品videossex欧美性| 手机在线观看精品国产片| 亚洲精品国产精品乱码不卡√| 黑人狠狠的挺身进入| 奶大灬舒服灬太大了一进一出| 亚洲午夜无码久久| 美女脱下裤子让男人捅| 国产精品美女一区二区| 中文字幕精品亚洲无线码一区| 欧美高清一区二区三区| 国产主播在线一区| 97久久精品无码一区二区| 日本大臿亚洲香蕉大片| 亚洲爆乳精品无码一区二区 | 久久精品这里热有精品2015| 白医生的控制欲| 国产成人一区二区三区高清| aaaaaa级特色特黄的毛片| 日本欧美特黄特色大片| 亚洲码在线中文在线观看| 野外三级国产在线观看| 国语free性xxxxxhd| 中文字幕免费在线看线人| 欧美人与性动交α欧美精品| 免费观看女子推理社| 四虎成年永久免费网站| 女教师合集乱500篇小说| 中文字幕aⅴ人妻一区二区| 欧美亚洲精品suv| 亚洲欧美中文日韩欧美| 波多野结衣57分钟办公室| 啦啦啦在线观看视频直播免费| 怡红院国产免费| 女同久久另类99精品国产| 一级毛片在线观看视频| 日韩欧美亚洲综合久久|