PHP學習寶典-第二章
伺服端Web的Scripting語言
本章重點
·認識靜態的動態Web網頁
·用戶端與伺服端Scripting語言的對比
·伺服端Scripting語言簡介
本章重點在討論伺服器端Scripting語言本身,另外也談到它與靜態HTML和一般用戶端技術之間的關係。在本章結束時,讀者就能夠清楚知道PHP能做什麼、不能做什麼、還能夠對它與用戶端原始如何進行交流有大致上的了解。
靜態HTML
最基本的Web網頁形式是完全以HTML編寫純靜態、純文字的頁面。圖2-1中的簡單HTML頁面就是一個例子。
伺服端Web的Scripting語言
本章重點
·認識靜態的動態Web網頁
·用戶端與伺服端Scripting語言的對比
·伺服端Scripting語言簡介
本章重點討論伺服器端Scripting語言本身,另外也談到它與靜態HTML和一般用戶端技術之間的關係。在本章結束時,讀者就能夠清楚知道PHP能做什麼、不能做什麼、還能夠對它與用戶端原始如何進行交流有大致上的了解。
靜態HTML
最基本的Web網頁形式是完全以HTML編寫純靜態、純文字的頁面。圖2-1中的簡單HTML頁面就是一個例子。
圖2-1 靜態HTML網頁規範
以下為圖2-1的原始碼:
如圖2-2所示,當用戶端電腦透過Web或Intrantet從伺服器做出對某頁的HTTP請求時,伺服器只需傳遞檔案中找不到的純文字。
當該資料送回用戶端電腦,瀏覽器按照自己對原始碼內容的精確解析、用戶的偏好選項、顯示器大小以及其它因素做出最佳處理並呈現出來。伺服器上HTML檔案的內容與使用者端電腦上頁面的原始碼完全相同。
你這樣非常普通的靜態HTML有以下幾個優點:
◆ 任何瀏覽器都有能力顯示它。
◆大多數的裝置都有有能力顯示它。
◆它對每個請求都能迅速執行,並且只使用最少的資源。
◆ HTML容易學習或自動產生。
◆ 對單獨頁面能夠快速進行小變更。
◆ 當然,靜態HTML也有不良的一面:
◆ 難以控制設計與版面配置。
◆ 無法擴充到大量的頁面。
◆ 互動性不夠好。
◆ 不易包含關於頁面有意義metadata。
◆ 不容易應付內容或個人化資訊的快速改變。
◆ 不很有吸引力。
由於…只能算是「業餘」水準或某種理想堅定的應用(此理想堅定如某些電腦科學專家所寫的網頁,而他們認為所有的網頁應該遵守HTML3.1規格而且必須所有裝置都能讀取)。
針對這些限制,日前已經發展了很多種其它技術,其中包括用戶端的JavaScript、Cascading Style Sheet(CSS)和Java applets,還包括伺服端資料庫連接的伺服端scripting語言。正在發展中的技術尚包括XML和XSL,這兩種技術都有是其它各種規格(XHTML、XSLT、XPath、ICE等)的一部分。
如果花點時間去了解這些技術有哪能些功能,以及是否能夠加到自己的Web網站中,一定會減少往後讓你頭痛的機會。對於任何在手上的Web網站任務,第一步要先問自己的基本問題是:該運算(computation)在哪端執行,用戶端還是伺服端?
「動態(dynamic)」的涵義在「靜態」和「動態」Web網頁之間有一個基本且重複差異,但「動態」幾乎可以表示除普通HTML之外的所有一切。它既用來描述用戶端功能,也用來描述伺服端功能。在使用者端,「動態」可看成是多媒體展示、捲動的標題行、自動更新的頁面或是時隱時現的元素…等。在伺服端,這個術語一般是用來指稱正在空中傳送並互動組合的內容。
用戶端技術
對於普通HTML,最常見的內容新增是發生在用戶端。包含以下方面:CSS和Dynamic HTML之類的格式擴充能、使用者端scripting語言、Java applets和Flash。這些技術的支援方式是(大多數是有支援)內建在網頁瀏覽中。表2-1列出它們的功能,其中有部分重疊。
表2-1 用戶端HTML的擴充
圖2-3所列示的頁面範例與圖2-1乃基於相同的內容。
正如從原始碼中以看到的,這個例子新增了一些樣式表、用戶端scripting和一些比較複雜的HTML碼。
很不幸地,用戶端技術的最佳賣點也是最糟糕的特質:它們完全依賴瀏覽器。每種瀏覽器的功能差異很大,即使同一個牌子出品的不同版本之間差異也很大。處每個人也可以選擇以不同的方式配置自己的瀏覽器,例如,某些人們會因為安全的顧慮而禁止使用JavaScript,這樣得他們不可能瀏覽那些過度使用 JavaScript進行導覽處理的網站。 (如果我們在先前範例所示的功能)
而且,許多用戶由於費用或技術不足的原因,在瀏覽器的升級工作方面效果級差。 Web開發人員應該對基於裝置的瀏覽、普通性和全球性使用者等有所了解。無一例外,以大眾市場為導向而設計的網站都試圖取得最廣泛的用戶,例如,Yahoo!和Amazon在採納了這些標準後,堅持不使用樣式表和 JavaScript已經有三年多了。在W3C的壓力下,許多網站仍固執地堅持使用FONT標記和BGCOLOR屬性,他們的客戶可能是那些在13時顯示器的老舊Macintosh機器上使用AOL3.0的用戶。更諷刺的是,即使Web在經歷了五年快速發展之後,開發人員可以對客戶提出絕對保證的仍只是讓他們看到以純文字為主的普通HTML而已。 (或甚至是HTML的子集合而且已經成功輕鬆經歷過時間的考驗)
最後,用戶端技術不能做任何需要連接到後端伺服器的工作。 JavaScript無法根據儲存在資料庫中的使用者偏好選項即時產生自訂的下拉清單,當清單中需要做修改時,Web開發人員必須到該頁面進行手動的修改(伺服端JavaScript,但目前用得不太多)對於此問題,伺服端JavaScript語言是可以填補此一鴻溝的救星。
總之,處理版面配置或瀏覽器事件的一切動作都發生在使用者端上。一般來說,看起來很酷的效果或取決於滑鼠移動的事情都是在用戶端上。能夠看到某事件顯現的速度越快,它就越可能是由用戶端處理的,因為速度快就代表了不需要從伺服器進行下載。
注意:
Java applets,也稱為“client-side Java(用戶端Java)”,與用戶端其它技術相比,它對瀏覽器的依賴比較少。正如其名稱的暗示的,它們是透過Internet傳遞的完整小型Java 應用程序,但是它不像其它程序語言編寫的應用程序那樣,直接與用戶端的作業系統互動,Java applets執行於稱為JVM(Java Virtual Machine,Java虛擬主機)的中介軟體上。 JVM可看成是存在於真正作業系統之上的作業系統。大多數最新瀏覽器都會進入不敷出JVM,當然你也可以自己單獨下載一個來使用。這種工作上的區分使得applet在讓瀏覽器發揮特別功能時,不會受到瀏覽器相對較弱的能力限制。
applet在早期被認為是無意義的小東西,因為它們最初只是用於實現一些簡單的動書,如看上去像透明膠做的圖示標誌,會滾動的標題列,跳動的鍵結等。幸好,applet已經有了改變,也可用於一些具有人文意義的使用目的,諸如縱橫字謎、漢諾塔模擬、試穿戴套裝和飾物和虛擬方式等。
伺服端scripting語言
圖2-4是伺服器scripting資料流程的示意圖。
用戶端scripting語言非常有魅力,是非曲直Web開發中最搶眼的部分。伺服端程式設計則正好相反,它對使用者來說是看不見而隱藏在後面的。伺服端 scripting的程式設計人員總是在後端的Web伺服器的資料之間努力摸索,而在前端妹夫有藝術細胞的同仁們則可以在大眾面前書情展示自己的作品。
伺服端Web的scripting語言主要是將W eb網站連接到後端伺服器,諸如資料庫,這就允許進行雙向的交流溝通:
伺服端Web的scripting語言主要是將W eb網站連接到後端伺服器,諸如資料庫,這就允許雙向的交流溝通:
◆ 伺服器到用戶端:Web網頁可從後端伺服器輸出組合而成。
◆ 用戶端到伺服器:使用者端所輸入的資訊得以發生作用。
常見的用戶端到伺服器交流溝通的例子是,在伺服器上動態組合的線上表單和一些下拉式清單。 (通常它需要你按下按鈕)。
伺服端scripting語言產品有兩個主要部分:scripting語言和scripting引擎(可能內建在Web伺服器中,也可能不會內建)。引擎部分都有是由同一個公司或團隊開發的,只能互相配合使用(PHP3和ColdFusion就是這樣的兩個例子)。然而,這項規則也有例外,舉例來說, Java Server Pages就是以標準程式語言編寫的,而不是用於專門目的的scripting語言;有些配合廠商已經開發了幾個可相容互換的引擎(例如Allaire JRun 、Apache JServ)。
從理論上來說,Active Server Pagesb允許使用絕大多數與所有scripting語言以及幾種相配的ActiveX的scripting引擎中的一種(然而在實務作業中,除NT/IIS/VBScript/JScirpt的組合之外,其它組合的問題都非常多),由於PHP4的scriptingz引擎(Zend)目前在理論上是與PHP程式設計語言分離的,所以PHP4現在也算是一種分離式的獨立scripting技術了。
圖2.5列出了一個簡單的伺服端scripting語言的範例,根據伺服端原始碼和用戶端原始碼,從資料庫即時產生一個頁面。我們含括了資料庫呼叫(在本書的Part II之前,目前先不進行細部講解),並略掉了一些含括的檔案,因為這個例子的目的是顯示PHP的最終成品,而不是成為正式作業可執行的原始碼使用
以下是伺服器上的原始碼
這是同一個頁面在到達用戶端時的原始碼呈現形式:
以上就是PHP學習寶典-第二章的內容,更多相關內容請關注PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

隨著網路的發展,動態網頁的需求越來越大。而PHP作為一種主流的程式語言,被廣泛應用於Web開發中。那麼,對於初學者來說,如何學習PHP開發呢?一、了解PHP的基礎知識PHP是一種腳本語言,可以直接嵌入HTML程式碼中,透過Web伺服器進行解析運作。因此,在學習PHP之前,可以先了解HTML、CSS、JavaScript等前端技術基礎,以便更能理解PHP的作

PHP學習筆記:模組化開發與程式碼重複使用引言:在軟體開發中,模組化開發與程式碼重複使用是相當重要的概念。模組化開發可以將複雜的系統分解成可管理的小模組,提高開發效率和程式碼可維護性;而程式碼重複使用則可以減少冗餘程式碼,提高程式碼的重用性。在PHP開發中,我們可以透過一些技術手段來實現模組化開發和程式碼重複使用。本篇文章將介紹一些常用的技術和具體程式碼範例,幫助讀者更好地理解和應用這些概

PHP學習筆記:網路爬蟲與資料收集引言:網路爬蟲是一種自動從網路上抓取資料的工具,它可以模擬人的行為,瀏覽網頁並收集所需的資料。 PHP作為一種流行的伺服器端腳本語言,在網路爬蟲和資料擷取領域也發揮了重要的作用。本文將介紹如何使用PHP編寫網路爬蟲,並提供實際的程式碼範例。一、網路爬蟲的基本原理網路爬蟲的基本原理是透過發送HTTP請求,接收並解析伺服器回應的H

PHP學習筆記:效能分析與調優引言:在Web開發中,效能是一個非常關鍵的因素。一個高效能的網站能夠提供更好的使用者體驗,提高使用者留存率,增加業務收入。而在PHP開發中,效能的最佳化是一個常見且重要的問題。本文將介紹PHP中效能分析與調優的方法,並提供具體的程式碼範例,幫助讀者更能理解並運用這些技巧。一、效能分析的工具Xdebug擴充Xdebug是一款功能強大的P

2023年,學習PHP的最佳途徑是什麼?隨著網路的快速發展,電腦程式設計成為了一項具有極高就業前景的技能。而在眾多的程式語言中,PHP是一門被廣泛應用於網頁開發的語言。想要學習PHP,了解最佳的學習途徑是非常重要的。 PHP是一種開源的、伺服器端腳本語言,它被用來開發動態網站和應用程式。相較於其他語言,PHP具有較低的學習曲線和廣泛的應用領域,使其成為初學者的

學習PHP中的視訊特效和濾鏡處理函數方法PHP是一種強大的程式語言,廣泛應用於Web開發領域。隨著網站設計的發展,視訊特效和濾鏡處理越來越受歡迎。本文將介紹如何使用PHP實現視訊特效和濾鏡處理,以及一些常用的函數方法。一、安裝ffmpeg擴充功能要處理視頻,我們需要安裝ffmpeg擴充。透過這個擴展,我們可以在PHP中直接呼叫ffmpeg指令進行視訊處理。安裝過程

PHP學習筆記:表單處理與資料驗證在網頁開發中,表單是使用者與網站互動的重要元件之一。當使用者在網站上填寫表單並提交資料時,網站需要對提交的資料進行處理和驗證,確保資料的準確性和安全性。本文將介紹如何使用PHP來處理表單和進行資料驗證,並提供具體的程式碼範例。表單提交和資料預處理在HTML中,我們需要使用<form>標籤來建立表單,並指定表單的

PHP學習筆記:前後端分離與API設計概述:隨著互聯網的不斷發展和用戶需求的不斷增加,前後端分離的開發模式越來越受到開發者的重視。前後端分離是指將前端和後端的開發分開離開來,透過API進行資料交互,實現開發的高效能和靈活性。本文將介紹前後端分離的概念,以及如何設計API。前後端分離的概念:傳統的Web開發模式是前後端耦合的,即前端和後端的開發是在同一個專案中進
