成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

你知道HTML、CSS、JS、Services、PHP、ASP.NET 是什么來(lái)頭么?

2021-01-27    分類: 網(wǎng)站建設(shè)

假設(shè)大家在瀏覽器地址欄輸入這個(gè)問(wèn)題的地址

https://www.cnnds.com


HTML 與 CSS

當(dāng)自己的電腦得到一個(gè) html頁(yè)面 (圖中HTTP 響應(yīng)中 body 里的內(nèi)容)之后,就會(huì)對(duì)它進(jìn)行解析。HTML 就是一種超文本標(biāo)記語(yǔ)言。給大家舉一些實(shí)例看看:

  • [img]圖片[/img] 用來(lái)粘貼圖片
  • [url]超鏈接[/url] 用來(lái)粘貼地址

服務(wù)器返回給你的html文件,寫(xiě)的是一些代碼,大概是這樣的:



PHP 就是一種常見(jiàn)的用來(lái)寫(xiě)服務(wù)器腳本的語(yǔ)言,其實(shí)只要是能拿來(lái)寫(xiě)大家傳輸數(shù)據(jù)的通用接口(CGI)的語(yǔ)言都可以用來(lái)寫(xiě)服務(wù)器腳本(也就是說(shuō)幾乎所有編程語(yǔ)言都可以寫(xiě) = =b),只是因?yàn)楝F(xiàn)成工具的豐富程度和專攻程度不一樣,所以有一些語(yǔ)言在寫(xiě)服務(wù)器端腳本的時(shí)候會(huì)比較熱門(mén)。

為了方便,我們?cè)趯?xiě)服務(wù)器腳本的時(shí)候,通常還會(huì)用個(gè)同語(yǔ)言寫(xiě)的 Web Framework 來(lái)處理各種細(xì)節(jié),防御一些常見(jiàn)的攻擊,提供跨站認(rèn)證(比如用已有的微博賬號(hào)注冊(cè)其他網(wǎng)站)的接口,利用cookie處理登陸狀態(tài)和用戶設(shè)置,生成網(wǎng)頁(yè)模版之類的。如果你用 C# 或者 Visual Basic 寫(xiě)服務(wù)器腳本,就可以用 http://ASP.NET 這個(gè)框架實(shí)現(xiàn)這些功能,幫你省點(diǎn)麻煩。不過(guò)現(xiàn)在不少人是反過(guò)來(lái)為了一個(gè)好用的 Web Framework 去選擇它對(duì)應(yīng)的服務(wù)器腳本語(yǔ)言的。

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

簡(jiǎn)單概括一下,對(duì)于我們普通的網(wǎng)站訪問(wèn),涉及到的技術(shù)就是:

  1. 用戶操作瀏覽器訪問(wèn),瀏覽器向服務(wù)器發(fā)出一個(gè) HTTP 請(qǐng)求;
  2. 服務(wù)器接收到 HTTP 請(qǐng)求,Web Server 進(jìn)行相應(yīng)的初步處理,使用服務(wù)器腳本生成頁(yè)面;
  3. 服務(wù)器腳本(利用Web Framework)調(diào)用本地和客戶端傳來(lái)的數(shù)據(jù),生成頁(yè)面;
  4. Web Server 將生成的頁(yè)面作為 HTTP 響應(yīng)的 body,根據(jù)不同的處理結(jié)果生成 HTTP header,發(fā)回給客戶端;
  5. 客戶端(瀏覽器)接收到 HTTP 響應(yīng),通常第一個(gè)請(qǐng)求得到的 HTTP 響應(yīng)的 body 里是 HTML 代碼,于是對(duì) HTML 代碼開(kāi)始解析;
  6. 解析過(guò)程中遇到引用的服務(wù)器上的資源(額外的 CSS、JS代碼,圖片、音視頻,附件等),再向 Web Server 發(fā)送請(qǐng)求,Web Server 找到對(duì)應(yīng)的文件,發(fā)送回來(lái);
  7. 瀏覽器解析 HTML 包含的內(nèi)容,用得到的 CSS 代碼進(jìn)行外觀上的進(jìn)一步渲染,JS 代碼也可能會(huì)對(duì)外觀進(jìn)行一定的處理;
  8. 用戶與頁(yè)面交互(點(diǎn)擊,懸停等等)時(shí),JS 代碼對(duì)此作出一定的反應(yīng),添加特效與動(dòng)畫(huà);
  9. 交互的過(guò)程中可能需要向服務(wù)器索取或提交額外的數(shù)據(jù)(局部的刷新,類似微博的新消息通知),一般不是跳轉(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)實(shí)現(xiàn)動(dòng)態(tài)效果或其他改變。

注意這只是小網(wǎng)站里比較常見(jiàn)的模型,大網(wǎng)站為了解決規(guī)模問(wèn)題還會(huì)有很多處理,每個(gè)環(huán)節(jié)都會(huì)有一些細(xì)微的差異,中間還會(huì)使用各種各樣的工具減輕服務(wù)器的壓力,提高效率,方便日常維護(hù)~

延伸閱讀 —— 那些看花眼的名詞

為了方便調(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 (用戶包括 Instagram、Pinterest)等
  • Ruby,一般都用 Rails 這個(gè) Framework,用戶包括 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è)工程師支撐幾億用戶的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è)。關(guān)于tomcat等之前的文章也有提及環(huán)境的配置。
  • 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)站就自己折騰解決方案。

分享標(biāo)題:你知道HTML、CSS、JS、Services、PHP、ASP.NET 是什么來(lái)頭么?
文章來(lái)源:http://jinyejixie.com/news/97755.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、動(dòng)態(tài)網(wǎng)站、定制網(wǎng)站、面包屑導(dǎo)航、服務(wù)器托管軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
汉川市| 隆尧县| 观塘区| 巫山县| 柯坪县| 金溪县| 荣成市| 六枝特区| 蒙阴县| 日土县| 合水县| 陕西省| 化州市| 库伦旗| 邯郸市| 铜梁县| 炎陵县| 郎溪县| 阳原县| 尼玛县| 晋江市| 富阳市| 东安县| 永靖县| 信阳市| 周至县| 沧州市| 福鼎市| 札达县| 云龙县| 武邑县| 娱乐| 兴化市| 武陟县| 望城县| 阳东县| 浏阳市| 博白县| 惠水县| 水富县| 正安县|