1. web編程中post方式提交數據時,數據流有沒有最長限制
對於GET方法傳遞,IE是有限制的,最大2083位元組。其他瀏覽器沒限制。
對於POST傳遞數據,理論上沒有大小限制的,HTTP協議規范也沒有進行大小限制。但是受伺服器端應用程序處理能力和伺服器設置限制。
IIS 6.0默認ASP POST數據量最大為200KB,每個表單域限制是100KB。默認上傳文件的最大大小是4MB。默認最大請求頭是16KB。而APAche環境下配置的PHP環境默認最大POST值為80M。
2. JAVA WEB 的get和post分別是什麼格式
get和post 都屬於文本 區別在於get有字數限制 從安全的角度來說post比get更安全
request.getParameter是用來獲取用過網頁提交的表單的信息 就像上邊說的request.getParameter只能獲得文本
request.getAttribute是獲取從servlet或者jsp頁面跳轉過來的信息這些信息本身屬於
java的對象類型或者基本類型
get請求要傳遞的參數會直接加在url里
3. 瀏覽器分別在哪些情況下使用get方式和post方式訪問web伺服器
get請求方式:
直接在瀏覽器地址輸入的訪問地址,或提交表單時,該表單對應的form元素沒有設置method方式或者method方式為get,get方式的請求會將請求參數的名和值轉換成字元串,並附加在原rul之後,因此,可以在地址欄中看到請求參數名和值。且get請求方式傳送的數據量小,一般不能大於2kb
post請求方式:
通過表單提交,且需要設置form的元素為post。post方式傳送的數據量較大,取決於伺服器的設置,post方式發送的請求參數以及對應的值放在html header中傳輸,用戶不能在地址欄里看到請求參數之,安全性相對較高。
對比以上兩種參數傳遞方式,我們應該採用post方式。
post請求方式處理非西歐字元:
必須在獲取請求參數之前先調用setCharacterEncoding方法設置編碼的字元集,因此當發送請求的表單頁採用gb2312字元集
Jsp代碼
<%@ page language="java" contentType="text/html;charset="gb2312"%>
<html>
request.setCharacterEncoding("gb2312");
String name = request.getParameter("name");
String [] colors = request.getParamterValues("color");
<!--下面依次輸出表單域的值-->
您的名字:<%=name%>
您喜歡的顏色<%for(String c:colors){out.println(c+"");}%>
</html>
get請求方式處理非西歐字元:
在獲取請求參數值之後對請求參數值重新編碼,也就是將其轉換成位元組數組,再將位元組數組重新編碼成字元串
Jsp代碼
<%@ page language="java" contentType="text/html;charset="gb2312"%>
<html>
String rawName = request.getParametet("name");
bytes[] rawBytes = rawName.getBytes("ISO-8859-1");
String name = new String(rawBytes,"gb2312");
</html>
4. 上網(Web方式post)這是干什麼的
post和get是兩種web請求方式get是向特定資源發出請求,不安全,會被網路爬蟲訪問post是向指定資源提交數據進行處理請求希望可以幫到你
5. web中表單發送數據有哪些方法各有什麼優缺點
常用的就GET和POST是HTTP請求的兩種基本方法
GET在瀏覽器回退時是無害的,而POST會再次提交請求。
GET產生的URL地址可以被Bookmark,而POST不可以。
GET請求只能進行url編碼,而POST支持多種編碼方式。
GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
GET請求在URL中傳送的參數是有長度限制的,而POST沒有。
對參數的數據類型,GET只接受ASCII字元,而POST沒有限制。
GET請求參數會被完整保留在瀏覽器歷史記錄里,而POST中的參數不會被保留。
GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。
GET參數通過URL傳遞,POST放在Request body中。