第1章 WWW和LAMP基本觀念
1-1 WWW的由來
WWW 全球資訊網指的是 World Wide Web,簡稱為 WWW 或 W3。 1989年歐洲高能粒子協會所發明
Hypertext 超文字,一九六○年由德‧尼爾森提出的名詞,原意是指「非連續性的書寫,互相連接的文字,讓讀者可以選擇,最好是在互動式的螢幕上出現」
通訊協定HTTP 全球資訊網(WWW)的基礎建則立在超文字 (HyperText) 鏈結上,其使用的通訊協定HTTP(Hyper Text Transfer Protocol,超文件傳輸協定) .
WWW常看到的應用 入口網站 搜尋引擎 電子商務 公司行號或個人網站 地下網站
圖1-1:入口網站-Yahoo!奇摩
1-2 WWW的架構
主從式架構 WWW全球資訊網屬於一種主從式架構(Client-Server)的系統,雙方在網際網路上在透過通訊協定HTTP來取得和傳輸網頁: 主端是「伺服端」(Server):指的是Web伺服器或網站 從端是「客戶端」(Client):使用者執行瀏覽程式(Browser)的電腦
圖1-2:WWW全球資訊網是主從式架構
網站伺服器(Web server)與客戶端(Web client)之間互動步驟 在客戶端瀏覽器上輸入網址(URL)。例如:http://tw.yahoo.com 瀏覽器由DNS伺服器取得網站的IP位址。例如:202.43.195.52 成功取得回應之後,client試著利用TCP與網站伺服器在port 80建立連線socket。 客戶端瀏覽器送出GET指令試著取得網址上指定的網頁。 客戶端瀏覽器先呈現所取得網頁文字,接著再顯示圖形等資訊。
1-3 URL網址
網址 也被稱為網頁位址,就是 URL。URL 是”Uniform Resource Locator”的縮寫,翻譯為“統一資源定位器”。
圖1-3:URL一般的格式
URL一般的格式 連線協定:URL 的第一個部份,在冒號之前的是指定連線的協定方式,例如:http,ftp,telnet..等。在冒號之後的是通常是兩個反斜線。 完整合法網域名稱 (FQDN):兩個反斜線後面的是指定機器(WWW)和網域的名稱位置(組織名稱、組織類別、國別代碼,例如drmaster.com.tw)。 埠號:預設值是80,也可以允許被更改的。 目錄:放該網頁或檔案的所在路徑。 檔案名稱:網頁或其他格式的檔案名稱。 參數:?後面是該網頁利用cookie、session或application技術,所帶網頁的參數,例如:id=123。
1-4靜態網頁
HTML HTML格式的網頁通常被稱為“靜態網頁”,HTML是一種網頁設計語言,它的全名是 Hypertext Markup Language,早期的網站一般都是由靜態網頁製作的。
圖1-4:超文件檔的一個範例
HTML HTML 檔案由許多標籤 (tag) 與內文組合而成的,通常它是一般的純文字格式文字檔案,所以我們可以使用一般的文書處理程式來撰寫它,而標籤 (tag) 便是用來描述文件的.
HTML HTML 的最新規格為 4.01 版,可以支援動態效果網頁 (DHTML、Dynamic HTML),也就是在網頁當中加入動畫及音效等多媒體效果。
「即見即所得」的軟體 現在大部份都透過Namo、FrontPage或Dreamweaver..等易學好用的軟體,這類「即見即所得」的軟體來輕鬆編輯網頁。
圖1-5:Namo的範例
1-5 動態網頁
動態網頁 動態網頁是能夠根據用戶的要求,在用戶點擊相應的連結或輸入一定的資訊之前網頁的內容實際尚未產生,即時在伺服器或用戶的電腦產生的網頁。
動態網頁 動態網頁可以依據瀏覽者的輸入資訊不同(例如:不同的瀏覽者、瀏覽行為、瀏覽時間…),而呈現不同的內容
圖1-6:使用PHP技術的網頁
伺服器端動態網頁的原理 伺服器收到查詢某網頁後,例如.php檔 伺服器會依據崁入式的網頁程式語言,可能存取相關資料庫的資料。 轉換成HTML標籤的網頁格式。 最後透過http協定,傳輸給客戶端的瀏覽器。
圖1-7:伺服器端動態網頁的傳輸原理
1-6 LAMP介紹
WWW伺服器兩大陣營 一種是Windows系統的IIS+MS的SQL Server+ASP的WWW伺服器 很容易被駭客所破壞或入侵 另外一種則是Linux系統上面架設的Apache+MySQL+PHP的WWW伺服器 這種伺服器架設上有一定程度的困難度 他的硬體要求、性能、安全性等方面,則相對的較佳。
圖1-8:安裝好Apache Server的首頁
LAMP LAMP是Linux+Apache+MySQL+PHP的標準縮寫,是當今最受歡迎的開放程式碼(OpenSource)軟體網站開發平臺
Linux Linux是泛指各種自由軟體作業系統,如GNU/Linux、FreeBSD..等,這裡以Linux泛稱表示之。
Fedora版本 紅帽子(RedHat)公司是全球最優越的開放源程式碼及Linux供貨商,提供的Linux作業系統早期有RedHat版本,現在則改名叫Fedora版本。
圖1-9:RedHat公司的網站
Apache Server的由來 1995年之後,由國際超級電腦應用中心(National Center for Supercomputing Applications, NCSA)主導並克服了一些Web主機的臭蟲之後,才讓這個http協定的WWW套件得到了更廣泛的應用
Apache名稱由來 WWW套件被戲稱為『A patchy server』,意思就是說,一個經過更新後的Server的意思!
全世界市場佔有率最高的網站伺服器 Apache是全世界市場佔有率最高的網站伺服器。除提供基本的http通訊協定外,對於虛擬主機、網路安全傳輸規格SSL及PHP等程式模組的擴充功能都有支援。
Apache官方網站 Apache目前由http://www.apache.org來負責維護這一套軟體
圖1-10:Apache的官方網站(http://www.apache.org/)
MySQL MySQL是一個SQL關連式資料庫,由於執行效能與穩定性高,操作簡易所以使用者眾多。
圖1-11:phpMyAdmin的管理畫面
PHP PHP可簡單的視為一種動態網頁用的程式語言,可以用來設計留言版、討論區、或聊天室等等的動態網頁,由於它具有免費、跨平臺、易學及效率高..等等的優點,目前是很盛行的一種設計網頁。 全世界使用PHP的網站已經超過七百萬個。
圖1-12: PHP 網頁程式語言的範例
1-7 開放原始碼軟體
開放原始碼軟體 開放原始碼軟體基本上是由一群事先未協調,但卻一起合作的程式設計師來發展軟體,他們使用可自由散布的原始碼,以及網路上的通訊設施,方便了溝通和分享程式碼,每個人都可加上自己的創意,互相合作開發完成軟體。
授權用戶 開放原始碼軟體授權用戶可以任意使用軟體,自由瀏覽與修改軟體原始碼,隨意複製、散佈原始或經修改的軟體。
開放原始碼軟體特性 1.取得與重複使用成本低 2.穩定性佳,程式錯誤修補快速。 3. 採非傳統的軟體授權但尊重智財權。
圖1-13:有名的Open Source的網站
開放原始碼軟體十項條件 1. 允許自由散佈。 2. 包含程式原始碼的自由流通。 3. 授權條款應允許對原作品的修改以及衍生作品的產生。 4. 需保持原作者原始碼的一致性(Integrity)。 5. 授權條款對任何個人或群體均需一視同仁,不得有差別待遇。 6. 授權條款不得對特定領域或活動的應用有差別限制 7. 授權條款對於衍生作品自動適用。 8. 授權條款不得附屬於其它產品之下。 9. 授權條款不得對隨同散佈的其它軟體做出限制(例如規定需同為開放原始碼軟體)。 10. 散佈管道必須保持技術中立性,不限制特定方式或平台才能取得。
表1-1常見的有名開放原始碼軟體
表1-2開放性原始碼軟體的一些應用解決方案
使用開放性原始碼軟體的程式碼來開發商品 網路設備或軟體的廠商,越來越多使用開放性原始碼軟體的程式碼來開發商品。
1-8 開放原始碼軟體與商業軟體之比較
可靠度實測 NT平均六個禮拜當機一次,每次平均要花30分鐘修復,但是兩種Linux連一次當機也沒有。
表1-3 可靠度評比結果
效能實測 三種Linux中效能最差的SuSE,還比IIS快16%。
安全性比較 自由軟體經過千千萬萬個使用者在各種不同環境下的使用,開放出來的程式也經過許多社群同好的檢驗,即使有安全上的漏洞也以網路時代的速度修補好了,因此自由軟體系統是最安全的系統。
表1-4 安全弱點個數和修復的速度
可調整性(Scalability) 許多自由軟體都是跨平臺的,甚至連作業系統層次的自由軟體如Linux都可以支援十幾種不同的硬體,如Intelx86、ARM、Alpha、Sparc...等等,配合Linux在網路上的優勢,這使其可調整性大增。
開放原始碼軟體的缺點 1.無專職的售後服務 2.大部分資訊與討論為英文 3.中文化支援較弱甚至沒有 4.需有較佳的程式設計能力來修改程式。 雖然有這些缺點,可是還是瑕不掩瑜喔!
本章結束 謝謝!!