1.form表單有什么作用纫塌?有哪些常用的input 標簽,分別有什么作用座舍?
- 通俗的講 form標簽是用來進行表單提交用的稽犁,表單在網(wǎng)頁中主要負責數(shù)據(jù)采集功能焰望。
form標簽里面的常見屬性如下:
action: 表單提交的地址, 肯定是要提交給某個服務器的,action的地址就是要提交的服務器的地址
method:以何種方式提交,常見的為get和post. 區(qū)別在于一個是明文(在url中顯示),一個是暗文 - 常用的input 標簽及其作用
type 屬性取值:
text -- 文字輸入域(輸入型)
password -- 也是文字輸入域,但是輸入的文字以密碼符號'*'顯示(輸入型)
file -- 可以輸入一個文件路徑(輸入型)
checkbox -- 復選框.可以選擇零個或多個(選擇型)
radio -- 單選框.只可以選擇一個而且必須選擇一個(選擇型)
hidden -- 代表隱藏域,可以傳送一些隱藏的信息到服務器
button -- 按鈕(點擊型)
image -- 使用圖片來顯示按鈕,使用src屬性指定圖像的位置(就像img標簽的src屬性)(點擊型)
submit -- 提交按鈕,表單填寫完畢可以提交,把信息傳送到服務器.可以使用value屬性來顯示按鈕上的文字(點擊型)
reset -- 重置按鈕,可以把表單中的信息清空(點擊型)
2.post 和 get 方式的區(qū)別?
-
根據(jù)HTTP規(guī)范已亥,GET用于信息獲取熊赖,而且應該是安全的和冪等的。
所謂安全的意味著該操作用于獲取信息而非修改信息虑椎。換句話說震鹉,GET 請求一般不應產(chǎn)生副作用。就是說捆姜,它僅僅是獲取資源信息传趾,就像數(shù)據(jù)庫查詢一樣,不會修改泥技,增加數(shù)據(jù)浆兰,不會影響資源的狀態(tài)。注意:這里安全的含義僅僅是指是非修改信息珊豹。
冪等的意味著對同一URL的多個請求應該返回同樣的結(jié)果簸呈。
冪等(idempotent、idempotence)是一個數(shù)學或計算機學概念店茶,常見于抽象代數(shù)中蜕便。
冪等有一下幾種定義:
對于單目運算,如果一個運算對于在范圍內(nèi)的所有的一個數(shù)多次進行該運算所得的結(jié)果和進行一次該運算所得的結(jié)果是一樣的贩幻,那么我們就稱該運算是冪等的轿腺。比如絕對值運算就是一個例子,在實數(shù)集中段直,有abs(a)=abs(abs(a))吃溅。
對于雙目運算溶诞,則要求當參與運算的兩個值是等值的情況下鸯檬,如果滿足運算結(jié)果與參與運算的兩個值相等,則稱該運算冪等螺垢,如求兩個數(shù)的最大值的函數(shù)喧务,有在在實數(shù)集中冪等赖歌,即max(x,x) = x。
- 根據(jù)HTTP規(guī)范功茴,POST表示可能修改變服務器上的資源的請求庐冯。
- 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包的包體中惶凝。
- GET方式提交的數(shù)據(jù)最多只能是1024字節(jié),理論上POST沒有限制犬钢,可傳較大量的數(shù)據(jù)
其實這樣說是錯誤的苍鲜,不準確的:首先是"GET方式提交的數(shù)據(jù)最多只能是1024字節(jié)",因為GET是通過URL提交數(shù)據(jù)玷犹,那么GET可提交的數(shù)據(jù)量就跟URL的長度有直接關系了坡贺。而實際上,URL不存在參數(shù)上限的問題箱舞,HTTP協(xié)議規(guī)范沒有對URL長度進行限制遍坟。這個限制是特定的瀏覽器及服務器對它的限制。IE對URL長度的限制是2083字節(jié)(2K+35)晴股。對于其他瀏覽器愿伴,如Netscape、FireFox等电湘,理論上沒有長度限制隔节,其限制取決于操作系統(tǒng)的支持。注意這是限制是整個URL長度寂呛,而不僅僅是你的參數(shù)值數(shù)據(jù)長度怎诫。
理論上講,POST是沒有大小限制的贷痪,HTTP協(xié)議規(guī)范也沒有進行大小限制幻妓,說“POST數(shù)據(jù)量存在80K/100K的大小限制”是不準確的,POST數(shù)據(jù)是沒有限制的劫拢,起限制作用的是服務器的處理程序的處理能力肉津。
POST的安全性要比GET的安全性高强胰。注意:這里所說的安全性和上面GET提到的“安全”不是同個概念。上面“安全”的含義僅僅是不作數(shù)據(jù)修改妹沙,而這里安全的含義是真正的Security的含義偶洋,比如:通過GET提交數(shù)據(jù),用戶名和密碼將明文出現(xiàn)在URL上距糖,因為(1)登錄頁面有可能被瀏覽器緩存玄窝,(2)其他人查看瀏覽器的歷史紀錄,那么別人就可以拿到你的賬號和密碼了悍引,除此之外哆料,使用GET提交數(shù)據(jù)還可能會造成Cross-site request forgery攻擊。
-
總結(jié)一下吗铐,Get是向服務器發(fā)索取數(shù)據(jù)的一種請求东亦,而Post是向服務器提交數(shù)據(jù)的一種請求,在FORM(表單)中唬渗,Method默認為"GET"典阵,實質(zhì)上,GET和POST只是發(fā)送機制不同镊逝,并不是一個取一個發(fā)壮啊!
3.在input里,name 有什么作用撑蒜?
name 屬性規(guī)定 input 元素的名稱歹啼,用于對提交到服務器后的表單數(shù)據(jù)進行標識,或者在客戶端提供給 JavaScript座菠,使其可以引用表單數(shù)據(jù)狸眼。
4.adio 如何 分組?
具有相同 name 屬性值的 radio 為同一組
5.placeholder 屬性有什么作用?
提供可描述輸入字段預期值的提示信息,該提示會在輸入字段為空時顯示浴滴,并會在字段獲得焦點時消失拓萌。
6.type=hidden隱藏域有什么作用? 舉例說明
type屬性值定義為hidden可定義隱藏字段。隱藏字段對于用戶是不可見的升略。隱藏字段通常會存儲一個默認值微王,它們的值也可以由 JavaScript 進行修改。
一方面隱藏數(shù)據(jù)可以暫存數(shù)據(jù)品嚣,例如用戶不需要見到炕倘,但操作網(wǎng)頁時可能用到的數(shù)據(jù);另一方面可以提高安全性翰撑,例如罩旋,頁面提交表單時可通過type=hidden設置一段隱藏的按照預先算法約定好的隨機字段,服務器在受到表單數(shù)據(jù)時對這個隱藏字段進行校驗,來識別該表單數(shù)據(jù)來源是否可靠瘸恼,從而避免服務器數(shù)據(jù)被假頁面提交的數(shù)據(jù)攻擊篡改劣挫。