任務(wù)一

第一章 一個(gè)普通網(wǎng)站訪(fǎng)問(wèn)的過(guò)程

  1. 用戶(hù)操作瀏覽器訪(fǎng)問(wèn)最欠,瀏覽器向服務(wù)器發(fā)出一個(gè) HTTP 請(qǐng)求;
  2. 服務(wù)器接收到 HTTP 請(qǐng)求惩猫,Web Server 進(jìn)行相應(yīng)的初步處理芝硬,使用服務(wù)器腳本生成頁(yè)面;
    服務(wù)器腳本(利用Web Framework)調(diào)用本地和客戶(hù)端傳來(lái)的數(shù)據(jù)轧房,生成頁(yè)面拌阴;
  3. Web Server 將生成的頁(yè)面作為 HTTP 響應(yīng)的 body,根據(jù)不同的處理結(jié)果生成 HTTP header奶镶,發(fā)回給客戶(hù)端迟赃;
  4. 客戶(hù)端(瀏覽器)接收到 HTTP 響應(yīng)陪拘,通常第一個(gè)請(qǐng)求得到的 HTTP 響應(yīng)的 body 里是 HTML 代碼,于是對(duì) HTML 代碼開(kāi)始解析纤壁;
  5. 解析過(guò)程中遇到引用的服務(wù)器上的資源(額外的 CSS左刽、JS代碼,圖片酌媒、音視頻欠痴,附件等),再向 Web Server 發(fā)送請(qǐng)求馍佑,Web Server 找到對(duì)應(yīng)的文件斋否,發(fā)送回來(lái);
  6. 瀏覽器解析 HTML 包含的內(nèi)容拭荤,用得到的 CSS 代碼進(jìn)行外觀上的進(jìn)一步渲染,JS 代碼也可能會(huì)對(duì)外觀進(jìn)行一定的處理疫诽;
    用戶(hù)與頁(yè)面交互(點(diǎn)擊舅世,懸停等等)時(shí),JS 代碼對(duì)此作出一定的反應(yīng)奇徒,添加特效與動(dòng)畫(huà)雏亚;
    交互的過(guò)程中可能需要向服務(wù)器索取或提交額外的數(shù)據(jù)(局部的刷新,類(lèi)似微博的新消息通知)摩钙,一般不是跳轉(zhuǎn)就是通過(guò) JS 代碼(響應(yīng)某個(gè)動(dòng)作或者定時(shí))向 Web Server 發(fā)送請(qǐng)求罢低,Web Server 再用服務(wù)器腳本進(jìn)行處理(生成資源or寫(xiě)入數(shù)據(jù)之類(lèi)的),把資源返回給客戶(hù)端胖笛,客戶(hù)端用得到的資源來(lái)實(shí)現(xiàn)動(dòng)態(tài)效果或其他改變网持。

后端的種種

為了方便調(diào)試,很多 Web Framework 會(huì)自帶一個(gè)簡(jiǎn)單的 Web Server长踊,或者有些 Web Server 會(huì)自帶一個(gè)簡(jiǎn)單的 Web Framework 功舀,實(shí)際部署到服務(wù)器上開(kāi)放使用的時(shí)候?yàn)榱诵阅芑蛘甙踩榷喾矫娴目紤],可以把內(nèi)置的 Web Server 換成其他的身弊,比如 Apache 或者 Nginx (舉個(gè)栗子辟汰,知乎用的是 Tornado 做 Framework,Server 換成了 Nginx阱佛,見(jiàn)知乎使用了哪些框架和開(kāi)源庫(kù)帖汞?)。如果是開(kāi)源的東西凑术,還可以在遵守開(kāi)源協(xié)議的前提下自己改一下再用~因?yàn)楹蠖瞬幌袂岸艘呀?jīng)有 HTML + CSS + JS 這樣的既定事實(shí)標(biāo)準(zhǔn)翩蘸,服務(wù)器腳本與 Web Framework 的選擇很多,所以新手會(huì)聽(tīng)到很多眼花繚亂的技術(shù)名詞的地方多在這里~ 舉一些栗子麦萤,早年常見(jiàn)的服務(wù)器端語(yǔ)言有:

  • 開(kāi)源的 PHP
  • Sun 公司的 JSP 中使用的 Java
  • 微軟的 ASP 中使用的 VBScript

現(xiàn)在在這方面的應(yīng)用熱起來(lái)的語(yǔ)言有

  • Python鹿鳖,對(duì)應(yīng)常見(jiàn)的 Framework 包括知乎和Quora有用到的 Tornado(其實(shí)是自帶 Framework 的 Web Server)扁眯,社區(qū)很成熟的 Django (用戶(hù)包括 Instagram、Pinterest)等
  • Ruby翅帜,一般都用 Rails 這個(gè) Framework姻檀,用戶(hù)包括 Github、早期的 Twitter 等
  • 逆天的 JavaScript涝滴,有了 Node.js 這個(gè)平臺(tái)绣版,Web Server、服務(wù)器腳本和瀏覽器腳本全都可以用 JavaScript 來(lái)寫(xiě)……Node.js上最常用的 Framework是Express
  • 微軟家的則跟著 http://ASP.NET** 轉(zhuǎn)移到了C# 或者 Visual Basic
  • Erlang歼疮,擅長(zhǎng)大規(guī)模的并發(fā)杂抽,不少游戲公司拿來(lái)寫(xiě)服務(wù)器,靠幾十個(gè)工程師支撐幾億用戶(hù)的WhatsApp也是用的這個(gè)~

幾種常見(jiàn)的架構(gòu)包括:

  • LAMP = Linux + Apache + MySQL + PHP(P還可能是Python或Perl韩脏。有時(shí)候L會(huì)改成W=Windows缩麸。),也就是服務(wù)器上的操作系統(tǒng)是 Linux赡矢,Web Server 用 Apache杭朱,數(shù)據(jù)庫(kù)用 MySQL,服務(wù)器腳本用 PHP吹散,這些都是開(kāi)源技術(shù)弧械,網(wǎng)站起步時(shí)用起來(lái)的成本會(huì)比較低,所以是普通網(wǎng)站里非常常見(jiàn)的架構(gòu)(雖然對(duì)于發(fā)展得很大的網(wǎng)站會(huì)遇到很多瓶頸)空民,F(xiàn)acebook就是這種刃唐,淘寶也曾經(jīng)是。
  • J2EE界轩,Java 世界的架構(gòu)画饥,通常是企業(yè)用的(銀行、大型公司,.etc)耸棒,比較常見(jiàn)地還會(huì)搭配一種 UNIX 做操作系統(tǒng)荒澡,Apache 做 Web Server,Tomcat 轉(zhuǎn)換 JSP 到 Java 給服務(wù)器程序用(其實(shí)它也自帶 Web Server)与殃,Oracle 數(shù)據(jù)庫(kù)等等单山。不一定拿來(lái)建站,常常用來(lái)提供企業(yè)里的各種需要用到網(wǎng)絡(luò)的業(yè)務(wù)幅疼。我們學(xué)校教務(wù)系統(tǒng)就是用J2EE做的=米奸。= 淘寶現(xiàn)在也是從LAMP轉(zhuǎn)型到了這個(gè)。
    http://ASP.NET**爽篷,微軟家的架構(gòu)悴晰,通常會(huì)搭配 Windows Server 操作系統(tǒng),SQL Server 數(shù)據(jù)庫(kù),IIS 做 Web Server铡溪。StackOverflow和京東(曾經(jīng))就是這個(gè)架構(gòu)漂辐。
  • 神奇的MEAN架構(gòu),MongoDB做數(shù)據(jù)庫(kù)棕硫,Express做 Web Framework髓涯,Angular 做前端的 JavaScript 框架,Node.js 用于編寫(xiě) Web Server哈扮。神奇之處在于這幾個(gè)東西的語(yǔ)言都是 JavaScript (MongoDB的實(shí)現(xiàn)不是纬纪,但與外界溝通用的語(yǔ)言是)。因?yàn)槭潜容^新的架構(gòu)滑肉,還有待時(shí)間的考驗(yàn)包各,不過(guò)被很多人(尤其是靠 JavaScript 吃飯的前端程序猿們)熱切關(guān)注。

一般來(lái)說(shuō)重點(diǎn)不在技術(shù)而且在乎成本的新網(wǎng)站比較喜歡用 LAMP靶庙,重視安全穩(wěn)定和速度的企業(yè)和機(jī)構(gòu)喜歡 J2EE问畅,想省事的網(wǎng)站喜歡 http://ASP.NET**,比較 Geek 的網(wǎng)站和創(chuàng)業(yè)公司喜歡折騰各種 Python六荒、Ruby按声、Node.js世界的東西,Google 這樣現(xiàn)成的技術(shù)都解決不了需求的超大型網(wǎng)站就自己折騰解決方案恬吕。

作者:張秋怡鏈接:https://www.zhihu.com/question/22689579/answer/22318058來(lái)源:知乎著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)须床,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處铐料。


一些元素可以只有特性名沒(méi)有特性值。它們的特性名類(lèi)似“是非”豺旬,“有或沒(méi)有”钠惩,所以可以省略特性值,所以下面三種寫(xiě)法都是一樣的意思:

<input required="required">
<input required="">
<input required>

> 表示大于符號(hào)">" (>)
< 表示小于符號(hào)"<" (<)
& 表示和符號(hào)"and"(&)
" 表示引用符號(hào)" (")
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末族阅,一起剝皮案震驚了整個(gè)濱河市篓跛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坦刀,老刑警劉巖愧沟,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鲤遥,居然都是意外死亡沐寺,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)盖奈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)混坞,“玉大人,你說(shuō)我怎么就攤上這事【吭校” “怎么了啥酱?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)厨诸。 經(jīng)常有香客問(wèn)我镶殷,道長(zhǎng),這世上最難降的妖魔是什么泳猬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任批钠,我火速辦了婚禮,結(jié)果婚禮上得封,老公的妹妹穿的比我還像新娘埋心。我一直安慰自己,他們只是感情好忙上,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布拷呆。 她就那樣靜靜地躺著,像睡著了一般疫粥。 火紅的嫁衣襯著肌膚如雪茬斧。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天梗逮,我揣著相機(jī)與錄音项秉,去河邊找鬼。 笑死慷彤,一個(gè)胖子當(dāng)著我的面吹牛娄蔼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播底哗,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼岁诉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了跋选?” 一聲冷哼從身側(cè)響起涕癣,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎前标,沒(méi)想到半個(gè)月后坠韩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡候生,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年同眯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唯鸭。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡须蜗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情明肮,我是刑警寧澤菱农,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站柿估,受9級(jí)特大地震影響循未,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜秫舌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一的妖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧足陨,春花似錦嫂粟、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至镊讼,卻和暖如春宽涌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蝶棋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工卸亮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玩裙。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓嫡良,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親献酗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容