好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > ASP.NET的HtmlForm控件學(xué)習(xí)及Post與Get的區(qū)別概述

ASP.NET的HtmlForm控件學(xué)習(xí)及Post與Get的區(qū)別概述

熱門標(biāo)簽:玉林市機(jī)器人外呼系統(tǒng)哪家好 申請(qǐng)400電話手續(xù) 電話機(jī)器人軟件銷售工作 蘋果手機(jī)凱立德地圖標(biāo)注 合肥電銷外呼系統(tǒng)哪家公司做的好 百度ai地圖標(biāo)注 同安公安400電話怎么申請(qǐng)流程 預(yù)測(cè)式外呼系統(tǒng)使用說(shuō)明 南陽(yáng)外呼系統(tǒng)定制化

一、前言

1、了解HTTP(hypertext transport protocol)超文本傳輸協(xié)議

它是一種分布式,協(xié)作式,超媒體系統(tǒng)應(yīng)用之間的通信協(xié)議。是萬(wàn)維網(wǎng)(world wide web)交換信息的基礎(chǔ)。它以HTML文檔從web服務(wù)器傳到web瀏覽器的方式進(jìn)行的,如下圖解:

HTTP工作在TCP/IP協(xié)議體系中的TCP協(xié)議上。我們可以引出TCP/IP協(xié)議層級(jí)模型,如下圖:

HTTP請(qǐng)求的方法如下
(1).OPTIONS:返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法。也可以利用向Web服務(wù)器發(fā)送'*'的請(qǐng)求來(lái)測(cè)試服務(wù)器的功能性。 
(2).HEAD:向服務(wù)器索要與GET請(qǐng)求相一致的響應(yīng),只不過(guò)響應(yīng)體將不會(huì)被返回。這一方法可以在不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下,就可以獲取包含在響應(yīng)消息頭中的元信息。
(3).GET:向特定的資源發(fā)出請(qǐng)求。注意:GET方法不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中,例如在web app.中。其中一個(gè)原因是GET可能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪問(wèn)。 
(4).POST:向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。 
(5).PUT:向指定資源位置上傳其最新內(nèi)容。
(6).DELETE: 請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源。 
(7).TRACK: 回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。

2.表單提交原理

這里引述了大牛們的總結(jié)

(1).表單提交時(shí)表單內(nèi)容會(huì)被瀏覽器封裝為HTTP請(qǐng)求報(bào),里面包含了所有表單元素的name屬性值和value屬性的值,形式為name=value。

(2).該HTTP請(qǐng)求報(bào)被webserver獲取后會(huì)被解析并封裝成一個(gè)Request對(duì)象,Request對(duì)象里有一個(gè)Parameters集合專門用來(lái)存放所有的表單元素名值對(duì)。

(3).每個(gè)表單元素名值對(duì)被封裝成一個(gè)Parameter,而Parameter其實(shí)就是一個(gè)Map,所以你的Servlet里就可以用request.getParameter(name)獲取其value了。

 既然大牛們都說(shuō)的很清楚了,那么我們還需要清除的是表單靠什么進(jìn)行提交的,在這里表單標(biāo)簽有個(gè)很重要的屬性就是enctype,它設(shè)置以何種編碼方式提交表單數(shù)據(jù)。有以下三種:

(1).application/x-www-form-urlencoded:這是默認(rèn)的編碼方式,通過(guò)Value值的方式進(jìn)行數(shù)據(jù)處理 [這個(gè)我還是模糊的]
(2).multipart/form-data:是以二進(jìn)制流的方式來(lái)處理表單數(shù)據(jù)
(3).text/plain:當(dāng)表單的action屬性值為mailto:URL的形式時(shí)使用,多用于直接通過(guò)表單發(fā)送郵件

二、HtmlForm控件

1.HtmlForm 控件用于控制 form> 元素,主要屬性如下

屬性 描述
Action

URL,定義當(dāng)提交表單時(shí)把數(shù)據(jù)送往何處。注釋:該屬性總是設(shè)置為頁(yè)面自身的 URL!

Attributes 返回該元素的所有屬性名稱和值對(duì)。
Disabled 布爾值,指示是否禁用該控件。默認(rèn)是 false。
EncType 用來(lái)編碼表單內(nèi)容的 MIME 類型。
id 控件的唯一 id。
InnerHtml

設(shè)置或返回該 HTML 元素的開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽之間的內(nèi)容。特殊字符不會(huì)被自動(dòng)轉(zhuǎn)換為 HTML 實(shí)體。

InnerText

設(shè)置或返回該 HTML 元素的開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽之間的所有文本。特殊字符會(huì)被自動(dòng)轉(zhuǎn)換為 HTML 實(shí)體。

Method 表單向服務(wù)器傳送數(shù)據(jù)的方式。合法的值是 "post" 和 "get"。默認(rèn)是 "post"。
Name 表單的名稱。
runat 規(guī)定該控件是一個(gè)服務(wù)器控件。必須被設(shè)置為 "server"。
Style 設(shè)置或返回被應(yīng)用到控件的 CSS 屬性。
TagName 返回元素的標(biāo)簽名。
Target 加載 URL 的目標(biāo)窗口。
Visible 布爾值,指示該控件是否可見(jiàn)。

Method:Post / Get;其中的差別是Get表示由瀏覽器主動(dòng)上傳資料至Server 端,是立即傳送,其執(zhí)行效率快但是傳送的數(shù)據(jù)量也不能太大;而Post表示由服務(wù)器來(lái)抓取數(shù)據(jù),雖然不是那么立即,但是可傳送的數(shù)據(jù)量則沒(méi)有什么限制。

Action:要提交數(shù)據(jù)的頁(yè)面,即數(shù)據(jù)要傳送至哪個(gè)網(wǎng)址。

2.Post與Get的區(qū)別: 

http://jb51.net/web/72554.html
Form提供了兩種數(shù)據(jù)傳輸?shù)姆绞健猤et和post。雖然它們都是數(shù)據(jù)的提交方式,但是在實(shí)際傳輸時(shí)確有很大的不同,并且可能會(huì)對(duì)數(shù)據(jù)產(chǎn)生嚴(yán)重的影響。雖然為了方便的得到變量值,Web容器已經(jīng)屏蔽了二者的一些差異,但是了解二者的差異在以后的編程也會(huì)很有幫助的。

Form中的get和post方法,在數(shù)據(jù)傳輸過(guò)程中分別對(duì)應(yīng)了HTTP協(xié)議中的GET和POST方法。二者主要區(qū)別如下:

1、Get是用來(lái)從服務(wù)器上獲得數(shù)據(jù),而Post是用來(lái)向服務(wù)器上傳遞數(shù)據(jù)。

2、Get將表單中數(shù)據(jù)的按照variable=value的形式,添加到action所指向的URL后面,并且兩者使用“?”連接,而各個(gè)變量之間使用“”連接;Post是將表單中的數(shù)據(jù)放在form的數(shù)據(jù)體中,按照變量和值相對(duì)應(yīng)的方式,傳遞到action所指向URL。

3、Get是不安全的,因?yàn)樵趥鬏斶^(guò)程,數(shù)據(jù)被放在請(qǐng)求的URL中,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶代理都會(huì)將請(qǐng)求URL記錄到日志文件中,然后放在某個(gè)地方,這樣就可能會(huì)有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會(huì)一同顯示在用戶面前。Post的所有操作對(duì)用戶來(lái)說(shuō)都是不可見(jiàn)的。

4、Get傳輸?shù)臄?shù)據(jù)量小,這主要是因?yàn)槭躑RL長(zhǎng)度限制;而Post可以傳輸大量的數(shù)據(jù),所以在上傳文件只能使用Post(當(dāng)然還有一個(gè)原因,將在后面的提到)。

5、Get限制Form表單的數(shù)據(jù)集的值必須為ASCII字符;而Post支持整個(gè)ISO10646字符集。

6、Get是Form的默認(rèn)方法。

使用Post傳輸?shù)臄?shù)據(jù),可以通過(guò)設(shè)置編碼的方式正確轉(zhuǎn)化中文;而Get傳輸?shù)臄?shù)據(jù)卻沒(méi)有變化。在以后的程序中,我們一定要注意這一點(diǎn)。

1、Get 方法通過(guò) URL 請(qǐng)求來(lái)傳遞用戶的數(shù)據(jù),將表單內(nèi)各字段名稱與其內(nèi)容,以成對(duì)的字符串連接,置于 action 屬性所指程序的 url 后,如http://www.mdm.com/test.asp?name=asdpassword=sad,數(shù)據(jù)都會(huì)直接顯示在 url 上,就像用戶點(diǎn)擊一個(gè)鏈接一樣;Post 方法通過(guò) HTTP post 機(jī)制,將表單內(nèi)各字段名稱與其內(nèi)容放置在 HTML 表頭(header)內(nèi)一起傳送給服務(wù)器端交由 action 屬性能所指的程序處理,該程序會(huì)通過(guò)標(biāo)準(zhǔn)輸入(stdin)方式,將表單的數(shù)據(jù)讀出并加以處理

2、 Get 方式需要使用 Request.QueryString 來(lái)取得變量的值;而 Post 方式通過(guò) Request.Form 來(lái)訪問(wèn)提交的內(nèi)容

3、Get 方式傳輸?shù)臄?shù)據(jù)量非常小,一般限制在 2 KB 左右,但是執(zhí)行效率卻比 Post 方法好;而 Post 方式傳遞的數(shù)據(jù)量相對(duì)較大,它是等待服務(wù)器來(lái)讀取數(shù)據(jù),不過(guò)也有字節(jié)限制,這是為了避免對(duì)服務(wù)器用大量數(shù)據(jù)進(jìn)行惡意攻擊,根據(jù)微軟方面的說(shuō)法,微軟對(duì)用 Request.Form() 可接收的最大數(shù)據(jù)有限制,IIS 4 中為 80 KB 字節(jié),IIS 5 中為 100 KB 字節(jié)建議:除非你肯定你提交的數(shù)據(jù)可以一次性提交,否則請(qǐng)盡量用 Post 方法

4、Get 方式提交數(shù)據(jù),會(huì)帶來(lái)安全問(wèn)題,比如一個(gè)登陸頁(yè)面,通過(guò) Get 方式提交數(shù)據(jù)時(shí),用戶名和密碼將出現(xiàn)在 URL 上,如果頁(yè)面可以被緩存或者其他人可以訪問(wèn)客戶這臺(tái)機(jī)器,就可以從歷史記錄獲得該用戶的帳號(hào)和密碼,所以表單提交建議使用 Post 方法;Post 方法提交的表單頁(yè)面常見(jiàn)的問(wèn)題是,該頁(yè)面如果刷新的時(shí)候,會(huì)彈出一個(gè)對(duì)話框建議:出于安全性考慮,建議最好使用 Post 提交數(shù)據(jù)

 關(guān)于ASP.NET的HtmlForm 控件這點(diǎn)弄明白之后,那么在后期的ASP.NET上傳控件、Request獲取窗體變量就能很容易的去理解了。再者,關(guān)于Get與Post的區(qū)別,甚是關(guān)鍵,去年面試的時(shí)候就因?yàn)檫@點(diǎn)沒(méi)有很好地回答上而被潛回,看來(lái)以后還是要把基礎(chǔ)的東西弄熟透、打扎實(shí)才能為后面的道路順利開(kāi)展工作。

您可能感興趣的文章:
  • Asp.net XMLHTTP封裝類(GET,Post發(fā)送和接收數(shù)據(jù))
  • ASP.NET Get和Post兩種提交方法淺析
  • asp.net頁(yè)面與頁(yè)面之間傳參數(shù)值方法(post傳值和get傳值)
  • 區(qū)分ASP.NET中g(shù)et方法和post方法

標(biāo)簽:嘉興 淄博 揚(yáng)州 南昌 臺(tái)州 海南 南京 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET的HtmlForm控件學(xué)習(xí)及Post與Get的區(qū)別概述》,本文關(guān)鍵詞  ASP.NET,的,HtmlForm,控件,學(xué)習(xí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET的HtmlForm控件學(xué)習(xí)及Post與Get的區(qū)別概述》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ASP.NET的HtmlForm控件學(xué)習(xí)及Post與Get的區(qū)別概述的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章