14
新報告 PChome EC / Technical Department 報告:莊智偉

2015.07.15 新人報告(1)

Embed Size (px)

Citation preview

Page 1: 2015.07.15 新人報告(1)

新⼈人報告PChome EC / Technical Department

報告⼈人:莊智偉

Page 2: 2015.07.15 新人報告(1)

2015.07.15

HTTP &HTTPS

XML &JSON

Page 3: 2015.07.15 新人報告(1)

HTTP &HTTPS

解釋:

• HTTP 為超⽂文字傳輸協定,以⼀一般(⾮非安全)模式在進⾏行互動交談

• HTTPS 為經過加密的超⽂文字傳輸協定

應⽤用:

網址開頭為 https,其輸⼊入機密資料(例:信⽤用卡號碼、安全碼等),其無⼈人能盜取。

協定:

HTTP 使⽤用 80 Port的協定(純⽂文字模式)

HTTPS ⾛走的是 443 Port的協定(可通⾏行⼆二進制字元的模式)

⽂文字傳送的協定標準不同

Page 4: 2015.07.15 新人報告(1)

網⾴頁發出請求(Request)給伺服器

HTTP/1.1 200 OK Server: Microsoft-IIS/6.0 Content-Type: text/html Content-Length: 38 <html><body>Hello, world.</body><html>

GET /text.aspx HTTP/1.1 Host: www.google.com

伺服器將要Render的資料回傳(Response) 給網⾴頁瀏覽器使⽤用

Page 5: 2015.07.15 新人報告(1)

個⼈人資料隱私保障⽅方法

避免在⾮非 HTTPS 網站留下個⼈人資料

任何的 HTTP 連線都是可以被輕易竊聽的。要確保個⼈人資料不會外洩,最極端的⽅方法是不要在任何⾮非 HTTPS 網站留下個⼈人資料,包含註冊、或是登⼊入網站,因為登⼊入之後的 Cookie 可能會被竊取。雖然沒有洩漏個⼈人資料,但竊聽者還是可以監控網站的連線,甚⾄至是竄改 HTTP 網站的內容。

Page 6: 2015.07.15 新人報告(1)

PHP 強制使⽤用https連線• 網站的某些⾴頁⾯面,我們需要強制使⽤用者使⽤用https加密連線,例如登⼊入的⾴頁⾯面,來保護使⽤用者輸⼊入的資料。這時可利⽤用以下兩種檢查加上重導來達到:

Page 7: 2015.07.15 新人報告(1)

• 1xx 訊息:代表請求已被接受,需要繼續處理。

• 2xx 成功:代表請求已成功被伺服器接收、理解、並接受。

• 3xx 重新導向:代表需要客⼾戶端採取進⼀一步的操作才能完成請求。

• 4xx 客⼾戶端錯誤:代表了客⼾戶端看起來可能發⽣生了錯誤,妨礙了伺服器的處理。

• 5xx 伺服器錯誤:代表了伺服器在處理請求的過程中有錯誤或者異常狀態發⽣生,也有可能是伺服器意識到以當前的軟硬體資源無法完成對請求的處理。

⽤用以表⽰示網⾴頁伺服器HTTP響應狀態的3位數字代碼, 所有狀態碼的第⼀一個數字代表了響應的五種狀態之⼀一

HTTP Status Codes

Page 8: 2015.07.15 新人報告(1)

HTTP Status Codes網⾴頁接收到伺服器的回應後,都會⾃自動去判讀網⾴頁的狀態,其中的 Http Status代碼的意思如下:

• 200 伺服器回應Data成功。• 206 取得⽚片段資料,Http Request 中有的 Range 屬性,可以指定要取得那⼀一段Bytes數。• 301 ⺫⽬目標網⾴頁移到新網址(永久轉址)。• 302 暫時轉址• 304 已讀取過的圖⽚片或網⾴頁,由瀏覽器緩存 (cache) 中讀取。• 401 需⾝身分驗證,如 SSL key or htaccess pasword。• 403 沒有權限讀取,可能是 IP 被阻檔或是伺服器限制。• 404 伺服器未找到⺫⽬目標網址,檔案不存在。• 408 Client Request timeout• 411 沒有指定 content-length,使⽤用 POST 傳送參數時,必須指定參數的總⻑⾧長度• 414 URL 太⻑⾧長導致伺服器拒絕處理。• 500 伺服器發⽣生錯誤 : 可能是 htaccess 有錯

Page 9: 2015.07.15 新人報告(1)

HTTP Status Codes

Page 10: 2015.07.15 新人報告(1)

HTTP Status Codes

Page 11: 2015.07.15 新人報告(1)

參考資料來源:https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81 http://www.reallycoolpicsart.com/2011/12/http-status-cats-http-status-codes.html http://blog.miniasp.com/post/2009/01/16/Web-developer-should-know-about-HTTP-Status-Code.aspx http://www.dotblogs.com.tw/marcus116/archive/2011/05/29/26428.aspx

HTTP Status Codes

Page 12: 2015.07.15 新人報告(1)

XML &JSON

解釋:

• XML 可延伸標⽰示語⾔言(Extensible Markup Language),為⼀一個完整的標記語⾔言,在程式判讀上需要⽐比較多的功夫,提供⼀一個跨平台的機制,⽤用來管理、儲存、溝通訊息。

• JSON 為輕量級的資料交換語⾔言,以⽂文字為基礎,且易於讓⼈人閱讀,瀏覽器的內建快速解析⽀支援,使得其更適⽤用於網路資料傳輸領域。

格式:

物件(object):⼀一個物件以「{」開始,並以「}」結束。⼀一個物件包含⼀一系列⾮非排序的名稱/值,每個名稱/值之間使⽤用「,」分割。

名稱/值(collection):名稱和值之間使⽤用「:」隔開,⼀一般的形式是:

例:{“name”:”hohayo”, “email”:”[email protected]”}

Page 13: 2015.07.15 新人報告(1)

XML 是什麼樣⼦子? JSON 是什麼樣⼦子?<?xml version="1.0" encoding="big5" ?>

<catalog>

<product>

<pname>HP printer</pname>

<price currency="NT">12000</price>

<mark />

</product>

<hr />

<product>

<pname>IBM notebook</pname>

<price currency="NT">4900</price>

<mark>10Percent off</mark>

</product>

</catalog>

{

"name": "John Smith",

"age": 32,

"address": {

"street": "701 First Ave.",

"city": "Sunnyvale, CA 95125",

"country": "United States"

},

"children": [

{

"name": "Richard",

"age": 7

},

{

"name": "Susan",

"age": 4

}

]

}

XML 的本質:具有意義標籤語義化。 ⽐比起XML,更簡潔許多

Page 14: 2015.07.15 新人報告(1)

使⽤用⼯工具

http://www.jsoneditoronline.org/