摘要:直到有一天,大哥接到一項特殊的任務,一位年輕的爸爸想給自己患有抑郁癥的孩子制作一個網站,希望網頁里的天空每天都可以更換一種顏色。猿知原味注老頭闡述的方法是最早的動態網頁實現方案技術。傳送門技術的前世今生二技術的前世今生三
我的名字叫JavaScript,你也可以喊我Js。在說我的故事之前,我覺得有必要先介紹下我的大哥HTML,和大嫂CSS。沒錯,那個叫Java的家伙不是我的親戚,我們隔著好幾條街區呢。(來自知乎的神回復:Java和Javascirpt就好比“雷鋒”和“雷峰塔”的關系)
我大哥算是整個家族的元老級人物,在上世紀90年代初,它被一幫科學家創造出來為了方便他們看文檔、傳論文。連這幫締造者自己都沒想到,我大哥的出現在之后改變了整個世界。
起初,我大哥的日子還是蠻逍遙的。它用自己強大的能力將文字和圖片構建成一個個文檔(Document),并放在服務器上供大家去訪問瀏覽。科學家們吃著火鍋唱著歌就把自己的論文發表在了網絡上,大哥也覺得找到了一份錢多事少離家近的工作,一切看起來都很美好。
然而人怕出名豬怕壯,不久,大哥的名聲就傳出了學術界,越來越多的人通過HTML大哥向世界展示他們自個兒,還給大哥構建出的文檔起了個時髦的名字:網頁。
人類是很貪婪的,平淡無奇的網頁很快就讓他們厭倦了,“文檔標題是不是可以變大一些?”,“是不是可以調整不同段落的字體顏色?”??很顯然,他們希望自己的網頁看起來更加與眾不同。于是,HTML大哥一次次的被賦予更加強大的能力,新的功能雖然在一定程度上滿足了人類的需求,但這也給大哥留下了后遺癥,它所構建的網頁逐漸變的臃腫不堪。
就在大哥人生最低潮的時候,我的大嫂走進了它的生活(1996年)。如果要用一個字形容我的CSS大嫂,那就是——美。自從它來到我們家,大哥構建的網頁要換字體、變顏色、加邊框、添背景??這些活統統被大嫂一手攬了過去。為這事,大哥樂了好些日子,之前的頹態也一掃而空了。自此,大哥又過上了只負責賺錢養家,由嫂子負責貌美如花的幸福生活。
直到有一天,大哥接到一項特殊的任務,一位年輕的爸爸想給自己患有抑郁癥的孩子制作一個網站,希望網頁里的天空每天都可以更換一種顏色。聽起來很合理的訴求卻難到了我大哥,它和大嫂展開了討論:
“Dear,讓我們幫幫他們,好嗎?”,大嫂懇切的說道。
“我也很想這樣做,但是,Sweetie,你是知道的,我和你的能力僅限于構建靜態網站,只要訪問相同的網址,返回的頁面內容始終是不變的。”
“嗯??要么,我們去問問隔壁鎮上的老C頭(大家都這樣稱呼資歷較老的C語言)吧,它見多識廣,指不定能有好主意”。大哥補充說道。
兩天后,它們見到了正在和C++下棋的老C頭,聽完大哥的敘述,老C頭沉思片刻:“這個好辦,不要讓用戶直接訪問你了,我和C++都有判斷當前日期的能力,讓用戶請求先到達我們生成的程序,你只需要告訴我們網頁長什么樣子,我們在需要改變顏色的地方做點處理,再重新拼接成正確的頁面返回就行了。”C++老爹在一旁連連點頭。
按照老C頭說的辦法,有心的爸爸很快制作出了天空顏色會變的動態網頁,他從孩子臉上看到了久違的笑容。
(猿知原味注:老C頭闡述的方法是最早的動態網頁實現方案——CGI技術。除了C/C++之外,CGI程序還可以用PERL、Java、Python、Shell等進行編寫)
動態網頁很快成為了一種潮流,眾多站點加入了訪問計數、表單提交等需要網站服務器端進行邏輯處理的功能。這一下老C頭可不樂意了,和C++老爹抱怨起來:
“之前我就是想幫個忙,怎么幫著幫著還把我自己套進來了?作為一名紳士,你知道讓我去輸出那一大堆亂七八糟的HTML字符串是件多么粗魯的事嗎?”
“別提了,老C頭,都怨你出的餿主意,每個請求過來我都得用一個新的進程來處理,這么些年來大家一直稱贊我的性能高,這回怕是要晚節不保了。”
“你的性能高?那意思是我的性能不高嘍?”
“這還用說嘛,看我們的名字不就很清楚了么?”
“@#&%$??”
兩個倔老頭又陷入了日常的爭論當中。好在沒過多久,一個叫PHP的家伙誕生了,它的出現徹底消除了老C頭的滿腹牢騷,因為這家伙迅速接過老C頭的活,成為了開發動態網站的主流。
我和PHP的關系還不錯,一方面是因為我們年紀相當(1995年),另一方面PHP和我大哥是老鐵,它經常來我家串門,來和大哥討論某個動態頁面應該如何構建,哪些部分屬于應由大哥負責的靜態內容,哪些部分屬于需要它來標記的動態內容。
總之啊,PHP和我們這一家子相處的算是其樂融融。
(猿知原味注:PHP相較CGI,不僅更好地組織了Web頁面的內容,提高了開發效率和可維護性,而且執行效率也比CGI更高。在這之后,ASP和JSP等網站動態腳本語言也相繼誕生)
故事講到這,終于輪到我出場了。在我出生之前,一個網站所有邏輯層面的任務都會由我大哥承包給老C頭、PHP等它們那幫跑在服務器上的家伙。比如你要注冊一個郵箱,賬號輸入時一不小心將@敲成了#,只有當注冊賬號被發送到服務器上經過那些家伙校驗之后才能發現錯誤,它們再將錯誤信息返回到你面前又需要花費一些時間,在那個還在用28.8kbit/s的"貓"上網的年代,這段被浪費的時間很可能長達好幾十秒。
我的出現大大改善了這種糟糕的上網體驗。我完全運行在客戶端(關于這一點,最近幾年我似乎有些跑偏),那些沒必要交給服務器的邏輯運算統統由我負責。有了我之后可把我大哥樂壞了,它再也不用因為一個簡單的表單驗證去麻煩它的PHP老弟,或者去面對老C頭鄙夷的眼神了。自此,我算是在這個家里站穩了腳跟。
時間過的很快,一晃就跨過了千禧之年,在那前后,大哥帶著我接了很多有趣的活,有在車庫里創建的搜索引擎,有在大學宿舍里創建的社交網站??同它們一樣,我要講的故事也剛剛開始。
傳送門:《Web技術的前世今生(二)》《Web技術的前世今生(三)》
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/117152.html
摘要:前言我是,如果你還不認識我,不妨先看看技術的前世今生一平靜的生活已經有一段日子了。傳送門技術的前世今生一技術的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術的前世今生(一)》 平靜的生活已經有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
摘要:前言我是,如果你還不認識我,不妨先看看技術的前世今生一平靜的生活已經有一段日子了。傳送門技術的前世今生一技術的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術的前世今生(一)》 平靜的生活已經有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
摘要:前言我是,如果你還不認識我,不妨先看看技術的前世今生一平靜的生活已經有一段日子了。傳送門技術的前世今生一技術的前世今生三 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術的前世今生(一)》 平靜的生活已經有一段日子了。 這一天,HTML大哥面露不悅地走過來問我: Js,你是打算和我們分家嗎? 大哥,您這說的哪里話,我什么地方做的不對么?我一臉茫然地回答道。 哼,...
摘要:前言我是,如果你還不認識我,不妨先看看技術的前世今生一,以及技術的前世今生二前面我提過,我的大哥有一個叫的死黨,這家伙有事沒事經常上我們家串門。時間來到了年,在那前后發生了兩件事讓我印象深刻。傳送門技術的前世今生一技術的前世今生二 前言:我是JavaScript,如果你還不認識我,不妨先看看《Web技術的前世今生(一)》,以及《Web技術的前世今生(二)》 前面我提過,我的大哥HTML...
摘要:直到有一天,大哥接到一項特殊的任務,一位年輕的爸爸想給自己患有抑郁癥的孩子制作一個網站,希望網頁里的天空每天都可以更換一種顏色。猿知原味注老頭闡述的方法是最早的動態網頁實現方案技術。傳送門技術的前世今生二技術的前世今生三 我的名字叫JavaScript,你也可以喊我Js。在說我的故事之前,我覺得有必要先介紹下我的大哥HTML,和大嫂CSS。沒錯,那個叫Java的家伙不是我的親戚,我們隔...
閱讀 3735·2023-04-25 18:41
閱讀 1169·2021-11-11 16:55
閱讀 1822·2021-09-22 15:54
閱讀 3068·2021-09-22 15:51
閱讀 3544·2019-08-30 15:55
閱讀 1937·2019-08-30 14:19
閱讀 1277·2019-08-29 10:57
閱讀 1699·2019-08-29 10:56