Upgrade to Pro — share decks privately, control downloads, hide ads and more …

01 - W3 intro - OpenWebSchool

01 - W3 intro - OpenWebSchool

openwebschool

August 12, 2012
Tweet

More Decks by openwebschool

Other Decks in Programming

Transcript

  1. Client – Server • 我們的網路世界也是一樣 • 有一些商店( Server ) •

    使用者是顧客( Client ) • 我想上某個網站的時候就連過去, Server 永遠開著
  2. Hostname and IP • IP is an Unique identifier –

    就像身分証一樣 • 網路有自己的機制,可以讓你輸入 IP 就找到 那台機器。 • http://140.113.41.8 – 但這不 make sense • http://www.nctu.edu.tw – It’s great!
  3. Links • In http://ensky.tw/test/test1/index.html • A.txt -> http://ensky.tw/test/test1/A.txt • ../A.txt

    -> http://ensky.tw/test/A.txt • ../b/A.txt -> http://ensky.tw/test/b/A.txt • ../../b/A.txt -> http://ensky.tw/b/A.txt • /A.txt -> http://ensky.tw/A.txt
  4. HTTP Request Overview • http://comic.ensky.tw/register 1. 連到 140.113.27.33:80 // 就是

    comic.ensky.tw 這個 hostname 轉換成的 IP 2. 丟下面的文字 GET /register HTTP/1.1 Host: comic.ensky.tw ...
  5. HTTP Request Method GET /register HTTP/1.1 Host: comic.ensky.tw OR GET

    http://comic.ensky.tw/register HTTP/1.1 Method URI Protocol_version Key: value
  6. HTTP Request Method • GET http://comic.ensky.tw/register HTTP/1.1 • GET –

    Read, 讀取資料 • POST – Create, 新增資料 • PUT – Update, 修改資料 • DELETE – Delete, 刪除資料
  7. HTTP Request Feature Host: comic.ensky.tw Cookie: xx=yy; aa=bb; … Referer:

    http://comic.ensky.tw/ User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.60 Safari/537.1
  8. HTTP Response Overview HTTP/1.1 200 OK Set-Cookie: a=b; c=d; …

    Content-Type: text/html; charset=utf-8 Content-Encoding: gzip 文件內容 (html) Protocol Code Response_text Key: value
  9. HTML • HTML 規範了有什麼東西要被顯示在網頁上 • 是一個 Markup Language < 段落

    > 這是一篇文章 </ 段落 > < 圖片 網址 =“http://this.is.a.pic/pic.jpg”>
  10. HTML < 標籤名稱 屬性 1=“ 值 ” 屬性 2=“ 值

    2”> 子元素 </ 標籤名稱 > <p> 這是一個真的段落 </p>
  11. HTML Tags <!doctype html> <html> <head> <meta charset=“utf-8”> <title> 這是網頁的標題

    </title> </head> <body> <p> 這是一個段落文字 </p> </body> </html>
  12. HTML Tags • <head> 裡面放的是「關於這個網頁的資訊」 – 編碼 – 網頁標題 •

    <body> 放的是「這個網頁的內容」 也就是所有顯示出來的東西
  13. HTML Tags • 其他 Tag 請自己看 • 請務必要搞懂最基本的那些 tags •

    比方說 a, img, table, form, textarea, select, br, p, div, span, pre, style, link, script, …
  14. HTML Attributes 每個元素會有不同的屬性可以設定 <img width=“123” height=“456” src=“…”> 以下四個屬性是每個元素都有的 • class

    - 元素的類別 • id - 元素的唯一名稱 • style - 元素的樣式 • title - 元素的標題文字
  15. HTML Entities 還記得 C 語言中,你為什麼不能宣告 int for = 1; 嗎?

    因為 for 是 C 語言中的保留字 同樣的, HTML 中也有所謂的「保留字」 比如說「 < 」這個符號就是
  16. Encodings 而 UTF-8 是 Unicode 的一種實作方法 詳細資訊請參考 wiki ,在此不多做說明 於是乎,我們寫網頁的都要記得

    你寫好的網頁要存成 UTF-8 HTML 裡面也要註明編碼是 UTF-8 不然瀏覽器會搞錯
  17. URL Encoding 網址有一套規範,叫做 RFC 1738 裡面規定 URL 只能是 ASCII 的某些文字組成

    因此若是你想在 HTTP Request 中使用中文 (比如說你想做一個抓漫畫機器人之類的) 需要作 URL Encoding google : URL Encoding