HTML
Web應(yīng)用一般都是以B/S架構(gòu)的,客戶端為瀏覽器(Browser)耙厚,服務(wù)器端一般是HTTP服務(wù)器盏缤;客戶通過瀏覽器請求服務(wù)器上的資源舶衬,大部分資源都是HTML耻蛇。
HTML相關(guān)知識請參考:http://www.w3school.com.cn/
URL
Web應(yīng)用的資源都是放在服務(wù)器上的,所以必須有個方式來獲取服務(wù)器上的資源柬帕,這個方式就是通過URL來獲取服務(wù)器上資源的产场。
URL:Uniform Resource Locator 統(tǒng)一資源地址。
URL的組成格式:<協(xié)議>:<特定協(xié)議組成部分>拗慨。
<協(xié)議>指定了以何種方式取得資源廓八,常見的協(xié)議:
1. 文件傳輸協(xié)議 ftp(File Transfer Protocol)
2. 超文本傳輸協(xié)議 http(Hypertext Transfer Protocol)
3. 發(fā)送郵件協(xié)議 mailto
4. 獲取本地資源協(xié)議 file
<特定協(xié)議組成部分>格式為://<用戶名>:<密碼>@<主機>:<端口號>/<資源路徑>
URL編碼
URL中的請求參數(shù)在實際處理的時候是不允許出現(xiàn)特殊字符以及中文的,都是以轉(zhuǎn)碼后的形式提交的赵抢,需要注意以下幾點:
1. 當(dāng)請求參數(shù)中包含特殊字符(空格剧蹂、等號、問號烦却、百分號等)時候宠叼,就必須使用十六進制來表示;
2. 請求參數(shù)中包含中文字符請參考:http://www.ruanyifeng.com/blog/2010/02/url_encoding.html
3. 在URL規(guī)范中空格符的編碼是%20其爵,而在HTTP規(guī)范中則是+號冒冬,這一點需要注意I祢恰!简烤!
以上兩種請求參數(shù)都可以使用java.net.URLEncoder.encode()方法剂邮,代碼如下:
// 請求參數(shù)中的特殊字符,輸出結(jié)果:http%3A%2F%2Fisgod.niezhic.xyz
String SpecChar = URLEncoder.encode("http://isgod.niezhic.xyz","UTF-8");
// 請求參數(shù)中的中文字符乐埠,輸出結(jié)果:%3A%E8%81%82%E7%BD%AE%E7%BA%AF
String chinChar = URLEncoder.encode(":中文","UTF-8");
HTTP
HTTP是一種通信協(xié)議抗斤,架構(gòu)在TCP/IP之上的應(yīng)用層協(xié)議,它有兩個基本但是極其重要的特性:
1. 基于請求(Request)和響應(yīng)(Response)
2. 無狀態(tài)通信
HTTP中的請求方法:GET丈咐、POST瑞眼、HEAD、PUT棵逊、DELETE等伤疙;其中最為常用的兩種方法為GET和POST。
GET與POST
GET與POST常見的區(qū)別:
1. GET請求純粹是為了取得資源辆影,而不改變服務(wù)器上的數(shù)據(jù)或狀態(tài)徒像;同樣的GET請求且使用相同的請求參數(shù)重復(fù)發(fā)送多次,都應(yīng)該傳回相同的結(jié)果蛙讥;相當(dāng)于查詢操作锯蛀。
2. POST請求可能會影響服務(wù)器上的數(shù)據(jù)或狀態(tài);相當(dāng)于新增次慢、修改旁涤、刪除操作
3. GET請求的請求參數(shù)是追加在URL后的,而POST請求的請求參數(shù)是在請求體中的
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者