HTML
Web應(yīng)用一般都是以B/S架構(gòu)的,客戶端為瀏覽器(Browser),服務(wù)器端一般是HTTP服務(wù)器;客戶通過瀏覽器請(qǐng)求服務(wù)器上的資源,大部分資源都是HTML。
HTML相關(guān)知識(shí)請(qǐng)參考:http://www.w3school.com.cn/
URL
Web應(yīng)用的資源都是放在服務(wù)器上的,所以必須有個(gè)方式來獲取服務(wù)器上的資源,這個(gè)方式就是通過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é)議組成部分>格式為://<用戶名>:<密碼>@<主機(jī)>:<端口號(hào)>/<資源路徑>
URL編碼
URL中的請(qǐng)求參數(shù)在實(shí)際處理的時(shí)候是不允許出現(xiàn)特殊字符以及中文的,都是以轉(zhuǎn)碼后的形式提交的,需要注意以下幾點(diǎn):
1. 當(dāng)請(qǐng)求參數(shù)中包含特殊字符(空格、等號(hào)、問號(hào)、百分號(hào)等)時(shí)候,就必須使用十六進(jìn)制來表示;
2. 請(qǐng)求參數(shù)中包含中文字符請(qǐng)參考:http://www.ruanyifeng.com/blog/2010/02/url_encoding.html
3. 在URL規(guī)范中空格符的編碼是%20,而在HTTP規(guī)范中則是+號(hào),這一點(diǎn)需要注意!!!
以上兩種請(qǐng)求參數(shù)都可以使用java.net.URLEncoder.encode()方法,代碼如下:
// 請(qǐng)求參數(shù)中的特殊字符,輸出結(jié)果:http%3A%2F%2Fisgod.niezhic.xyz
String SpecChar = URLEncoder.encode("http://isgod.niezhic.xyz","UTF-8");
// 請(qǐng)求參數(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é)議,它有兩個(gè)基本但是極其重要的特性:
1. 基于請(qǐng)求(Request)和響應(yīng)(Response)
2. 無狀態(tài)通信
HTTP中的請(qǐng)求方法:GET、POST、HEAD、PUT、DELETE等;其中最為常用的兩種方法為GET和POST。
GET與POST
GET與POST常見的區(qū)別:
1. GET請(qǐng)求純粹是為了取得資源,而不改變服務(wù)器上的數(shù)據(jù)或狀態(tài);同樣的GET請(qǐng)求且使用相同的請(qǐng)求參數(shù)重復(fù)發(fā)送多次,都應(yīng)該傳回相同的結(jié)果;相當(dāng)于查詢操作。
2. POST請(qǐng)求可能會(huì)影響服務(wù)器上的數(shù)據(jù)或狀態(tài);相當(dāng)于新增、修改、刪除操作
3. GET請(qǐng)求的請(qǐng)求參數(shù)是追加在URL后的,而POST請(qǐng)求的請(qǐng)求參數(shù)是在請(qǐng)求體中的
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。