跳到主要內容

網頁技術初探


網頁技術初探(1)

網頁請求與回應

近幾年很流行的動態網頁,說明網頁即時回應的重要我們利用下圖去說明動態網頁的運作
,當我們打開瀏覽器時,我們會輸入URL來連結網頁的內容,這時會向網頁伺服器送出請求,根據使用者要求執行網頁程式(ASP、JSP和PHP)等等執行程式的程序,會將程式執行的結
果,再給網頁伺服器再回應給瀏覽器。在這過程中,網頁伺服器扮演著編譯器的角色,而望頁程式扮演的執行者的角色,網頁伺服器主要工作會把執行者執行的結果編譯成網頁格式(HTML),回傳給前端使用者。我們下面會一一解析它們扮演角色的重要性。


網頁伺服器:

一個網頁伺服器,主要會完成三項任務
  1. 它會提供服務
  2. 它提供空間放置網頁
  3. 它會提供HTTP協定與瀏覽器做溝通        

而要達到網頁伺服器必須建置網頁伺服器的程式,目前比較有名的網頁伺服器如下:
  • Apache軟體基金會的Apache HTTP伺服器
  • Microsoft的Internet Information Server(IIS)
  • Google的Google Web Server

網頁程式 :

網頁程式主要可以分為客戶端網頁程式與伺服器端網頁程式,主要的不同是伺服器端網頁程式是在伺服器端的網頁程式都需要編譯器去編譯程式才會執行,主要的工作例如:製作報表、商業邏輯、連結資料庫等等。比較不會因為客戶端的不同而去需要改變,但是當多人使用時,需要考慮到網路頻寬與伺服器硬體的問題。至於客戶端的網頁程式應用瀏覽器中,只要瀏覽器是以直譯的方式顯示,主要做一些網頁排版或是動態顯示等等,例如:身分證驗證、電子郵件驗證等等都是常看到的應用。

*客戶端網頁程式:  JavaScriptCSSVBScript
*伺服器端網頁程式 : PHP ASP JSPPerl

各種程式的優勢與劣勢


網頁程式 優點 缺點
PHP好學、有強大的函式庫
支援套件多

網頁語法與PHP程式會混在一起,維護不易
非物件導向程式語言不好做擴展
JSP 網頁顯示與程式可以分開
容易模組化
可以自訂開Tag
多種framwork可以使用
多平台使用
學習時間長
framework容易無法長期支援,而造成維護困難
ASPIDE整合環境好,開發快
網頁顯示與程式可以分開
使用者可以快速上手
很難學習到技術基礎
有些企業的需求無法滿足


待續....




留言

這個網誌中的熱門文章

JavaBean 和POJO

前言 今天介紹JavaBean和POJO的不同,這兩個名詞在JAVA文章常常被拿來使用以及討論。在JDK1.1時候釋出才有的一個標準架構,很多時候常常被搞混,所以我們特別開闢一章來加以討論。POJO規範在企業級應用已經廣大的被使用的規範。 解釋 POJO : 全名為Plain-old-Java-object,只需要繼承Object就可以,沒有特定規定,只要建立的類別有setter/getter方法都可以稱為POJO JavaBean: JavaBean通常用來封裝多個物件成為單獨物件使用,規範比較嚴格,規則如下 規則 說明 1 需要實作序列(Serializable/Externalizable) 2 不能有參數的建構子( no-arg constructor) 3 需要有公用setter/getter 4 屬性必須要私人(private) 5 屬於特定POJO規則 比較 所有的JavaBean都為POJO,但是所有的POJO不一定為JavaBean 都可以當作重複元件 都必須序列化 特性都為可用性、易用性和持久化使用 - 應用 由圖我們可以知道POJO在應用程式中,主要用來存取資料庫資料達到持久化的目的,並提供給商業邏輯流程處理使用。這種POJO的架構提供程式人員開發時的可以很有規則將資料封裝並加以使用。 範例1. JavaBean(以員工為實例) JavaBean建立員工物件,可以發現Employee物件建構子沒有任何參數,屬性為私有化並setter/getter的命名方式。 //實作序列化 public class Employee implements java.io.Serializable{ private int id; private String name; //無參數建構子 public Employee(){} //以下實作setter/getter public void setId(int id){this.id=id;} public int getId(){return id;} public void setName(String ...

Python AI-問題集

Python AI-問題集 問題集 Jupyter Notebook執行ipywidgets會出現kernel死掉的錯誤發生(The kernel appears to have died) 解決方法 (1) 根據log檔來判斷問題: 例如:log訊息出現OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized. (2) 根據問題關鍵字找出問題所在: 利用google查詢所遭遇到的問題,例如我把上面的問題上google查詢可以找到這篇的解法 https://blog.csdn.net/bingjianIT/article/details/86182096 (3)實作解法: 我實作下面解法後,就可以順利執行手寫辨識的程式. //在Python宣告時加入 import os os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" 參考 https://blog.csdn.net/bingjianIT/article/details/86182096

H2資料庫(1)-基本安裝與介紹

H2資料庫介紹 H2為嵌入式資料庫,使用java開發,跨平台且內含資料庫管理介面,好處開發階段方便開發人員使用。 比較 詳細比較表: http://www.h2database.com/html/features.html#comparison 由圖比較可以知道,H2比其他資料庫更為優勢,以下會介紹開發時常用的模式: 嵌入式模式Embedded Mode 嵌入式資料庫會與應用程式共用同一JVM底層,在這個模式下persistent或是in-memory資料庫都支援,也沒有連線數的限制。但壞處是只可以給該應用程式使用,其他人無法直接存取資料庫。 伺服器模式 Server Mode 外部應用程式可以藉由JDBC或是OBC的方式連結該資料庫,它也支援persistent或是in-memory資料庫,也沒有連線數的限制。 混合模式 Mixed Mode 同時有嵌入式與伺服器的模式去讓外部應用程式連線或是自己應用程式連線。 安裝H2 database 官方網站: http://www.h2database.com/html/main.html 下載安裝程式 出現安裝連結,本次範例使用 Windows installer 的安裝連結 下載安裝程式後,點擊兩下,進入安裝畫面,按”下一步” 一直按”下一步”後,會出現”完成” 安裝完成後,會出現一個說明網頁,你可以點選Quickstart 它會告訴你,如何進入DBRMS畫面以及開啟資料庫服務 開啟windows的視窗圖示,執行 H2 Console後,會執行H2資料庫 進入DBRMS的登入畫面,使用者預設為”SA”,密碼為空值”“,按下”connect”進入,SQL命令中心 登入後,可以在空白處執行SQL語法 8.大致上安裝H2資料庫滿快速,操作畫面也是很好上手,如果系統在開發階段個人覺的滿推薦給大家使用看看。 參考 H2官方網站