移動編程技術(shù)第四講(與“編碼”有關(guān)的共31張)_第1頁
移動編程技術(shù)第四講(與“編碼”有關(guān)的共31張)_第2頁
移動編程技術(shù)第四講(與“編碼”有關(guān)的共31張)_第3頁
移動編程技術(shù)第四講(與“編碼”有關(guān)的共31張)_第4頁
移動編程技術(shù)第四講(與“編碼”有關(guān)的共31張)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

移動編程技術(shù)第四講第一頁,共31頁。目錄編碼、解碼與亂碼HTTP通信安全之HTTPSHTTPS的客戶端代碼實現(xiàn)HTTP通信安全之Cookie通信中使用Cookie的代碼實現(xiàn)HTTP通信安全之HTTP重定向重定向在代碼中的處理方法HttpUrlConnection的使用第二頁,共31頁。編碼、解碼與亂碼

第三頁,共31頁。亂碼為何產(chǎn)生

計算機(jī)中儲存的信息都是用二進(jìn)制數(shù)表示的,而我們在屏幕上看到的英文、漢字等字符是二進(jìn)制數(shù)轉(zhuǎn)換之后的結(jié)果。通俗的說,按照何種規(guī)則將字符存儲在計算機(jī)中,如'a'用什么表示,稱為"編碼";反之,將存儲在計算機(jī)中的二進(jìn)制數(shù)解析顯示出來,稱為"解碼",如同密碼學(xué)中的加密和解密。在解碼過程中,如果使用了錯誤的解碼規(guī)則,則導(dǎo)致'a'錯誤的解析成'b',或者直接變成亂碼。00110000-->101011000-->X01111001-->y

第四頁,共31頁。常用字符集

ASCIIASCII是基于拉丁字母的一套電腦編碼系統(tǒng)。它主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),不過對caféna?ve這類詞無法處理。iso8859-1又稱Latin-1或“西歐語言”,是國際標(biāo)準(zhǔn)化組織的第一個8位字符集。它以ASCII為基礎(chǔ),在空置的0xA0-0xFF的范圍內(nèi),加入96個字母及符號,藉以供使用變音符號的拉丁字母語言使用。GB2312適用于漢字處理、漢字通信等系統(tǒng)之間的信息交換,通行于中國大陸,新加坡等地也采用此編碼,共收入漢字6763個和非漢字圖形字符682個。Big-5通行于臺灣、香港地區(qū)的一個繁體字編碼方案,俗稱“大五碼”GBK共23940個碼位,共收錄了21003個漢字,完全兼容GB2312,并包含了BIG5編碼中的所有漢字。UTF-8

是一種針對Unicode的可變長度字符編碼,又稱萬國碼。UTF-8用1到4個字節(jié)編碼UNICODE字符。用在網(wǎng)頁上可以同一頁面顯示中文簡體繁體及其它語言(如日文,韓文)第五頁,共31頁。編碼的位置使用Post方法發(fā)起請求時,如果請求體中的鍵或值存在中文,一般需要對中文部分進(jìn)行編碼請求體username=李游&password=123456使用Get方法發(fā)起請求時,如果請求的URL中所帶參數(shù)部分(query部分)的鍵或值存在中文,一般需要對中文部分進(jìn)行編碼&password=123456

StringencodedStr=URLEncoder.encode("李游","UTF-8");StringencodedStr=URLEncoder.encode("李游","UTF-8");第六頁,共31頁。編碼的位置

第七頁,共31頁。解碼的位置

服務(wù)器返回的響應(yīng)主體(Body)默認(rèn)情況下會被服務(wù)器以某種字符集編碼,編碼的字符集可能會在響應(yīng)首部Content-Type中出現(xiàn),例如:Content-Type:text/html;charset=utf-8此時,我們需要根據(jù)服務(wù)器響應(yīng)首部中的charset來對響應(yīng)主體進(jìn)行解碼。然而,某些時候服務(wù)器的響應(yīng)首部Content-Type中并不存在charset字段,這種情況下,我們需要對響應(yīng)主體的返回流進(jìn)行復(fù)雜的判斷,計算出可能的字符集類型,用來對響應(yīng)主體解碼。第八頁,共31頁。HTTP通信安全之HTTPS

HTTPS是什么?HTTPS是HTTP的安全版本,就是在安全的傳輸層上發(fā)送HTTP。HTTPS將原有HTTP報文發(fā)送給一個安全層進(jìn)行加密,之后再發(fā)送給TCP(傳輸層)。這個安全層通過SSL(TLS)協(xié)議來實現(xiàn)。HTTPS將HTTP協(xié)議與一組強(qiáng)大的對稱、非對稱和基于證書的加密技術(shù)結(jié)合在一起,使得HTTPS變得安全且靈活,為電子商務(wù)、電子金融等需求安全保障的業(yè)務(wù)提供了可靠的傳輸。第九頁,共31頁。HTTP通信安全之HTTPS

HTTPS的主要作用1)驗證服務(wù)器的身份,防止服務(wù)器欺詐2)驗證客戶端的身份,防止客戶端欺詐和抵賴3)將HTTP報文在傳輸中加密,保證數(shù)據(jù)在傳輸中的安全第十頁,共31頁。HTTP通信安全之HTTPS

新增的傳輸安全層第十一頁,共31頁。HTTP通信安全之HTTPS

端口的變化第十二頁,共31頁。HTTP通信安全之HTTPS

HTTP與HTTPS傳輸對比第十三頁,共31頁。HTTP通信安全之HTTPS

第十四頁,共31頁。HTTP通信安全之HTTPS

第十五頁,共31頁。HTTP通信安全之HTTPS

理解SSL握手第十六頁,共31頁。HTTP通信安全之HTTPS

SSL握手的詳細(xì)流程第十七頁,共31頁。HTTP通信安全之HTTPS

服務(wù)器證書第十八頁,共31頁。HTTPS的客戶端代碼實現(xiàn)

第十九頁,共31頁。HTTP通信安全之Cookie

HTTP設(shè)計之初就是一個匿名的無狀態(tài)的請求/響應(yīng)協(xié)議,服務(wù)器處理來自客戶端的請求,然后回送給客戶端一個響應(yīng),服務(wù)器很難判斷請求是哪個用戶發(fā)送的,如果服務(wù)器希望跟蹤用戶的瀏覽行為,就需要采用一種機(jī)制來辨識客戶端,Cookie就是服務(wù)器識別客戶端的多種機(jī)制中使用最廣泛的一種。

Cookie的作用Cookie的類型Cookie可以分為會話Cookie和持久Cookie,前者是一種臨時Cookie,他記錄了用戶訪問站點(diǎn)時的設(shè)置與偏好,用戶退出瀏覽器時,Cookie就被刪除。后者將被保存在磁盤上,即使計算機(jī)重啟它仍然存在,一般用來記錄用戶對站點(diǎn)的設(shè)置和登錄名等信息。其唯一區(qū)別是后者因為有過期時間而被存儲,前者沒有過期時間而被刪除。第二十頁,共31頁。HTTP通信安全之Cookie

第二十一頁,共31頁。HTTP通信安全之Cookie

第二十二頁,共31頁。HTTP通信安全之Cookie

Cookie的屬性Name=Value鍵值對,(必須有),由服務(wù)器生成,客戶端在后續(xù)訪問該服務(wù)器時將會把鍵值信息帶在請求首部中Expires到期時間(可選)01-Nov-9923:12:40GMTDomain域名(可選)domain="jd"Path路徑(可選)為服務(wù)器特定的文檔分配cookie,路徑"/"匹配域名內(nèi)所有內(nèi)容,路徑“/foo”可匹配/foobar或/foo/abc.html,如果沒有Path屬性,則將其設(shè)置為產(chǎn)生Set-Cookie響應(yīng)的那個URL的路徑Secure安全(可選)表示只有在HTTPS時發(fā)送CookieSet-Cookie:Name=Value;Expires=DATE;Path=PATH;Domain=DOMAIN_NAME;Secure第二十三頁,共31頁。通信中使用Cookie的代碼實現(xiàn)

第二十四頁,共31頁。HTTP通信安全之HTTP重定向

HTTP重定向的作用1)提高HTTP操作的安全性,可以強(qiáng)制用戶跳轉(zhuǎn)2)保證HTTP傳輸?shù)目煽啃裕梢允褂脗溆觅Y源3)最小化延時,為用戶找到能夠提供最佳服務(wù)的服務(wù)器第二十五頁,共31頁。HTTP通信安全之HTTP重定向

第二十六頁,共31頁。HTTP重定向在代碼中的處理方法

第二十七頁,共31頁。HttpUrlConnection工具的使用

HttpURLConnection是JAVA提供的訪問HTTP資源的工具,通過它,可以方便快捷的訪問URL資源。該工具使用步驟:1)創(chuàng)建HttpURLConnection實例URLurl=newURL(address);HttpURLConnectionconn=(HttpURLConnection)url.openConnection();2)設(shè)置超時時間,首部,請求方法conn.setConnectTimeout(10000);conn.setRequestProperty("Accept","image/jpeg,*/*");conn.setRequestProperty("Connection","close");conn.setRequestMethod("GET");3)獲取服務(wù)器響應(yīng)的輸入流InputStreamin=conn.getInputStream();4)還可以向服務(wù)器寫入請求體,或者上傳數(shù)據(jù)OutputStreamout=conn.getOutputStream();第二十八頁,共31頁。HttpUrlConnection工具的使用第二十九頁,共31頁。上機(jī)練習(xí)(一)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論