狠狠撸

狠狠撸Share a Scribd company logo
WWW Intro

Ensky / 林宏昱
OpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW Intro
Client – Server




1.商店開著等顧客進來
2.顧客隨時想來就來
3.越大的店可以容納越多的顧客
Client – Server




?   我們的網路世界也是一樣
?   有一些商店(Server)
?   使用者是顧客(Client)
?   我想上某個網站的時候就連過去,
    Server永遠開著
Hostname and IP
? IP is an Unique identifier
  – 就像身分証一樣
? 網路有自己的機制,可以讓你輸入IP就找到
  那台機器。
? http://140.113.41.8
  – 但這不make sense
? http://www.nctu.edu.tw
  – It’s great!
Uniform Resource Identifier
http://comic.ensky.tw/register
ftp://ca.nctu.edu.tw

Protocol (like FTP, HTTP, Telnet…)
Host( Domain Name / IP )
Path
URI = Protocol :// Host + Path
Uniform Resource Identifier
? 絕對連結
? 所有網路資源都可以用一個絕對連結來代
  表。

? ftp://ca.nctu.edu.tw
? telnet://bs2.to
? ssh://bsd6.cs.nctu.edu.tw
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
HTTP Basic(餐廳)




? 1.說中文
? 2.清楚描述我要吃啥

? 這就是協定(protocol) : 我和店家的協定
HTTP Request
   我要
   /index.php




    好喔,給你
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
...
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
HTTP Request Method
? GET http://comic.ensky.tw/register HTTP/1.1
? GET
  – Read, 讀取資料
? POST
  – Create, 新增資料
? PUT
  – Update, 修改資料
? DELETE
  – Delete, 刪除資料
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
HTTP Response
    我要
    index.php




    好喔,給你
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
Take a Break
HTML
HTML
? HTML規範了有什麼東西要被顯示在網頁上
? 是一個Markup Language

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

<p>
       這是一個真的段落
</p>
贬罢惭尝呈现的是「文件」
      嚴格來說,
HTML不算是一種「程式語言」
HTML Tags
<!doctype html>
<html>
  <head>
     <meta charset=“utf-8”>
     <title>這是網頁的標題</title>
  </head>
  <body>
     <p>這是一個段落文字</p>
  </body>
</html>
HTML Tags
? <head>
  裡面放的是「關於這個網頁的資訊」
  – 編碼
  – 網頁標題
? <body>
  放的是「這個網頁的內容」
  也就是所有顯示出來的東西
HTML Tags
? 其他Tag請自己看

? 請務必要搞懂最基本的那些tags

? 比方說a, img, table, form, textarea, select, br,
  p, div, span, pre, style, link, script, …
HTML Attributes
每個元素會有不同的屬性可以設定
<img width=“123” height=“456” src=/slideshow/openwebschool-01-www-intro/15830658/“…”>
以下四個屬性是每個元素都有的

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

因為for是C語言中的保留字
同樣的,HTML中也有所謂的「保留字」
比如說「<」這個符號就是
HTML Entities
還記得這行是什麼意思嗎?
<body>
     <p>這是一個段落文字</p>
</body>


仔細看之後你會發現,在<p>之前有好多空白
(或者是tab)
但網頁上卻不會真的顯示出那些空白
HTML Entities
那如果我要打「<」或者是空白,怎麼辦?
常見的保留字:
         &nbsp;

<        &lt;

>        &gt;

&        &amp;

?        &copy;

         &reg;
?
?        &trade;
Encodings
很久很久以前,老美發明了電腦
那時的電腦還沒有網路

老美自己當然只用ABCDEFG
所以他們發明了ASCII code的表示方法
Encodings
但是用中文的我們可不能只用ASCII
去表示中華博大精深的文字
1個byte完全就是不夠用阿

所以我們自己創了Big5這套編碼方式
用兩個byte來表示中文
Encodings
那時候網路可還沒有普及呢
大家用big5用爽爽,反正只有我們會用
所以沒差

但網路一普及就崩潰了阿
每個國家都有一套自己的編碼方法
我們有big5中國有GB2312日本有JIS
Encodings
於是有人就提出一套編碼完全攻略
叫做unicode
用4個bytes把全部的字都塞進去

於是普天同慶
全世界的電腦都可以正確顯示中文網站
了!
Encodings
而UTF-8是Unicode的一種實作方法
詳細資訊請參考wiki,在此不多做說明

於是乎,我們寫網頁的都要記得
你寫好的網頁要存成UTF-8
HTML裡面也要註明編碼是UTF-8
不然瀏覽器會搞錯
Encodings
? Nodepad++中編成UTF-8的方法




? 記事本中編成UTF-8的方法
URL Encoding
網址有一套規範,叫做RFC 1738
裡面規定URL只能是ASCII的某些文字組成
因此若是你想在HTTP Request中使用中文
(比如說你想做一個抓漫畫機器人之類的)
需要作URL Encoding

google:URL Encoding
Homework

? 搞懂HTML基本元素的用途、實際操作看看
  ref: http://goo.gl/QVoic
? 搞懂這份投影片介紹過的東西
  ref: http://www.google.com.tw

? 練習1:自我介紹
Ad

Recommended

資訊實務讀書會 第一堂課:Basic HTML
資訊實務讀書會 第一堂課:Basic HTML
Maplewing Tamishi
?
After Yahoo 34 Rules -- 网站性能优化新进展
After Yahoo 34 Rules -- 网站性能优化新进展
leneli
?
5.网站设计与前端框架
5.网站设计与前端框架
Nelson Chen
?
[译]Efficient, maintainable CSS
[译]Efficient, maintainable CSS
jeannewoo
?
CSS 語法教學
CSS 語法教學
Shengyou Fan
?
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part II
Hung-yu Lin
?
贬迟尘濒&补尘辫;肠蝉蝉基础
贬迟尘濒&补尘辫;肠蝉蝉基础
KenerLinfeng
?
Word press theme主题制作教程
Word press theme主题制作教程
pangyuxing
?
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
Hung-yu Lin
?
Google App Engine
Google App Engine
Hung-yu Lin
?
2014 database - course 2 - php
2014 database - course 2 - php
Hung-yu Lin
?
Redis
Redis
Hung-yu Lin
?
OpenWebSchool - 11 - CodeIgniter
OpenWebSchool - 11 - CodeIgniter
Hung-yu Lin
?
2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL
Hung-yu Lin
?
[2008]网站重构 -who am i
[2008]网站重构 -who am i
Twinsen Liang
?
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Justin Lin
?
Html5
Html5
cazhfe
?
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
ziggear
?
JavaScript 80+ Programming and Optimization Skills
JavaScript 80+ Programming and Optimization Skills
Ho Kim
?
非常靠谱 Html 5
非常靠谱 Html 5
Tony Deng
?
OpenWebSchool - 02 - PHP Part I
OpenWebSchool - 02 - PHP Part I
Hung-yu Lin
?
WEB 安全基础
WEB 安全基础
xki
?
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
yang alex
?
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式
Justin Lin
?
HTML 語法教學
HTML 語法教學
Shengyou Fan
?
《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础
greentask
?
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训
j5726
?
模块一-骋辞语言特性.辫诲蹿
模块一-骋辞语言特性.辫诲蹿
czzz1
?
COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用
ericpi Bi
?
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
?

More Related Content

Viewers also liked (6)

2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
Hung-yu Lin
?
Google App Engine
Google App Engine
Hung-yu Lin
?
2014 database - course 2 - php
2014 database - course 2 - php
Hung-yu Lin
?
Redis
Redis
Hung-yu Lin
?
OpenWebSchool - 11 - CodeIgniter
OpenWebSchool - 11 - CodeIgniter
Hung-yu Lin
?
2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL
Hung-yu Lin
?
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
Hung-yu Lin
?
2014 database - course 2 - php
2014 database - course 2 - php
Hung-yu Lin
?
OpenWebSchool - 11 - CodeIgniter
OpenWebSchool - 11 - CodeIgniter
Hung-yu Lin
?
2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL
Hung-yu Lin
?

Similar to OpenWebSchool - 01 - WWW Intro (20)

[2008]网站重构 -who am i
[2008]网站重构 -who am i
Twinsen Liang
?
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Justin Lin
?
Html5
Html5
cazhfe
?
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
ziggear
?
JavaScript 80+ Programming and Optimization Skills
JavaScript 80+ Programming and Optimization Skills
Ho Kim
?
非常靠谱 Html 5
非常靠谱 Html 5
Tony Deng
?
OpenWebSchool - 02 - PHP Part I
OpenWebSchool - 02 - PHP Part I
Hung-yu Lin
?
WEB 安全基础
WEB 安全基础
xki
?
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
yang alex
?
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式
Justin Lin
?
HTML 語法教學
HTML 語法教學
Shengyou Fan
?
《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础
greentask
?
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训
j5726
?
模块一-骋辞语言特性.辫诲蹿
模块一-骋辞语言特性.辫诲蹿
czzz1
?
COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用
ericpi Bi
?
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
?
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
?
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Li JianYe
?
?語?模型 LLM 應?開發入?
?語?模型 LLM 應?開發入?
Wen-Tien Chang
?
白玉磊 Webrebuild
白玉磊 Webrebuild
裕波 周
?
[2008]网站重构 -who am i
[2008]网站重构 -who am i
Twinsen Liang
?
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Servlet & JSP 教學手冊第二版 - 第 1 章:簡介Web應用程式
Justin Lin
?
Web设计 3 java_script初探(程序员与设计师的双重眼光)
Web设计 3 java_script初探(程序员与设计师的双重眼光)
ziggear
?
JavaScript 80+ Programming and Optimization Skills
JavaScript 80+ Programming and Optimization Skills
Ho Kim
?
非常靠谱 Html 5
非常靠谱 Html 5
Tony Deng
?
OpenWebSchool - 02 - PHP Part I
OpenWebSchool - 02 - PHP Part I
Hung-yu Lin
?
WEB 安全基础
WEB 安全基础
xki
?
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
yang alex
?
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式
Justin Lin
?
《网页设计与制作》第一章:网页制作基础
《网页设计与制作》第一章:网页制作基础
greentask
?
给聚划算后端开发的前端培训
给聚划算后端开发的前端培训
j5726
?
模块一-骋辞语言特性.辫诲蹿
模块一-骋辞语言特性.辫诲蹿
czzz1
?
COSCUP 2010 - node.JS 於互動式網站之應用
COSCUP 2010 - node.JS 於互動式網站之應用
ericpi Bi
?
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
?
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
?
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
Li JianYe
?
?語?模型 LLM 應?開發入?
?語?模型 LLM 應?開發入?
Wen-Tien Chang
?
白玉磊 Webrebuild
白玉磊 Webrebuild
裕波 周
?
Ad

OpenWebSchool - 01 - WWW Intro