java後端開發(一):基本認知之(zhī)web開發是(shì)什麽 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 網站建設 >

java後端開發(一):基本認知之(zhī)web開發是(shì)什麽

發表時(shí)間:2018-8-5

發布人(rén):融晨科技

浏覽次數:59

前言

??前兩篇都是(shì)和(hé / huò)數據庫基本知識有關的(de): 數據表設計與mysql入門(一)和(hé / huò) 數據表設計與mysql入門(二) 。邏輯上(shàng)會設計數據表操作數據庫了(le/liǎo),但是(shì)還需要(yào / yāo)結合實際項目去加深印象。但是(shì)往下走之(zhī)前,我們有必要(yào / yāo)先了(le/liǎo)解一下java web開發的(de)相關背景知識和(hé / huò)基礎知識。

前置條件

??必看! 圖解TCP/IP ,具體看哪部分,書簽欄已經标注了(le/liǎo)。如果你有這(zhè)本書,那麽就(jiù)看第一章,第二章,第8章第5小節即可。就(jiù)是(shì)講述了(le/liǎo)網絡的(de)基本概念,通俗易懂很有趣。

網站、浏覽器VS操作系統、軟件

??浏覽器可以(yǐ)比作是(shì)電腦系統,他(tā)隻是(shì)個(gè)運行環境,而(ér)網站就(jiù)相當于(yú)電腦操作系統上(shàng)的(de)一個(gè)個(gè)軟件,軟件程序運行在(zài)電腦操作系統上(shàng),對應的(de)就(jiù)是(shì)網站(代碼)運行在(zài)浏覽器上(shàng)。我們說(shuō)的(de)軟件編程也(yě)就(jiù)是(shì)編寫代碼,而(ér)我們的(de)網站其實本質上(shàng)就(jiù)是(shì)一行行的(de)代碼,隻不(bù)過被浏覽器解析成你看到(dào)的(de)界面與功能。電腦軟件也(yě)是(shì)一樣,你的(de)excel就(jiù)是(shì)一堆代碼,隻不(bù)過被電腦系統解析成你看到(dào)的(de)樣子(zǐ)。
??而(ér)電腦軟件和(hé / huò)網站的(de)區别之(zhī)一在(zài)于(yú):電腦軟件是(shì)你安裝的(de)時(shí)候就(jiù)一次性的(de)永久的(de)把軟件代碼下載到(dào)電腦上(shàng)了(le/liǎo)(除非你删掉),你每次使用軟件都是(shì)操作系統在(zài)解析代碼的(de)過程;而(ér)你在(zài)浏覽器中輸入網址後,浏覽器才會将網站代碼下載下來(lái),并進行解析後展示給你,你關掉了(le/liǎo)浏覽器那麽這(zhè)些代碼也(yě)就(jiù)被删除了(le/liǎo)。
??所以(yǐ)這(zhè)也(yě)是(shì)爲(wéi / wèi)什麽你關掉浏覽器然後斷開網絡,你再次打開浏覽器輸入網站地(dì / de)址卻打不(bù)開網站的(de)原因,因爲(wéi / wèi)網站代碼删掉了(le/liǎo),浏覽器沒有可以(yǐ)解析的(de)東西,并且因爲(wéi / wèi)網絡原因浏覽器也(yě)不(bù)能下載網站代碼,所以(yǐ)沒法展示給你網站信息,隻能提示你網絡有問題。

一個(gè)問題

??你登錄CSDN總要(yào / yāo)輸入用戶名和(hé / huò)密碼吧?輸入了(le/liǎo)正确的(de)用戶名和(hé / huò)密碼後,就(jiù)可以(yǐ)看到(dào)自己的(de)博客列表。那麽CSDN怎麽知道(dào)你輸入的(de)用戶名和(hé / huò)密碼正确與否呢?

  • 存在(zài)浏覽器中。換一個(gè)浏覽器怎麽辦?
  • 存在(zài)電腦上(shàng)。換一個(gè)電腦登錄怎麽辦?
  • 将賬号密碼寫死在(zài)網頁中。别人(rén)登錄怎麽辦?

??也(yě)就(jiù)是(shì)說(shuō)CSDN想要(yào / yāo)校驗你輸入的(de)用戶名和(hé / huò)密碼正不(bù)正确,他(tā)必須要(yào / yāo)去存儲正确賬号和(hé / huò)密碼的(de)地(dì / de)方去讀取才行,比如所有用戶的(de)賬号和(hé / huò)密碼存在(zài)CSDN這(zhè)家公司中的(de)一台電腦上(shàng)的(de)Excel中。聽起來(lái)好像不(bù)錯,但是(shì)先不(bù)說(shuō)能不(bù)能實現,光這(zhè)種方案就(jiù)感覺漏洞很多。不(bù)過我們目前可以(yǐ)認同的(de)是(shì):用戶名和(hé / huò)密碼肯定要(yào / yāo)存儲在(zài)和(hé / huò)CSDN這(zhè)家公司相關的(de)機器上(shàng),這(zhè)樣子(zǐ)全國(guó)各地(dì / de)的(de)用戶才能不(bù)限時(shí)間地(dì / de)點的(de)正确登錄。
??CSDN那邊到(dào)底怎麽存儲呢?百思不(bù)得其解?去前言找找答案?
??答案當然是(shì)數據庫。看過前兩篇的(de)同學肯定對數據庫不(bù)陌生。CSDN将用戶名和(hé / huò)密碼存儲在(zài)他(tā)們公司的(de)數據庫中,當用戶在(zài)界面上(shàng)輸入賬号密碼時(shí),CSDN網站會去數據庫中查詢該用戶名對應的(de)密碼,如果查到(dào)的(de)密碼和(hé / huò)用戶輸入的(de)密碼一樣,就(jiù)可得知用戶輸入正确,所以(yǐ)登錄操作就(jiù)會成功。
那麽你有感到(dào)奇怪嗎?上(shàng)段中的(de)描述:

CSDN網站會去數據庫中查詢該用戶名對應的(de)密碼

??數據庫在(zài)CSDN公司裏面,網站就(jiù)在(zài)我打開的(de)浏覽器上(shàng),那麽網站是(shì)怎麽去數據庫中查詢的(de)呢?
??通過前置條件中針對網絡基礎的(de)學習,我相信你已經理解 協議 這(zhè)個(gè)概念了(le/liǎo),簡單理解就(jiù)是(shì)一種語言。而(ér)我們的(de)浏覽器隻知道(dào) HTTP 這(zhè)種語言(當然,這(zhè)樣表述并不(bù)十分準确)。但是(shì)數據庫我們說(shuō)過了(le/liǎo),他(tā)是(shì)解析 SQL 這(zhè)種語言的(de),實際上(shàng) mysql 的(de)語言是(shì)另外一種語言,總之(zhī)和(hé / huò) HTTP 完全不(bù)同。
并且,
??說(shuō)了(le/liǎo)這(zhè)麽多,我們再回來(lái)。不(bù)論網站代碼怎麽樣,浏覽器不(bù)支持其他(tā)協議你能怎麽辦?可是(shì)你又必須要(yào / yāo)去讀取數據庫的(de)數據啊。現在(zài)我們的(de)境遇是(shì):
??一邊是(shì)支持 HTTP 協議的(de)浏覽器,一邊是(shì)支持特殊協議的(de) mysql 。二者肯定不(bù)能直接通訊了(le/liǎo),那麽該怎麽辦?

如何處理

??我們是(shì)不(bù)是(shì)可以(yǐ)找一個(gè)中間人(rén),它既支持 HTTP 協議又可以(yǐ)支持 mysql 自定義的(de)協議呢?就(jiù)相當于(yú)找一個(gè)即會英語又會漢語的(de)翻譯員。
??好的(de),CSDN在(zài)公司的(de)電腦上(shàng)編寫了(le/liǎo)一個(gè)軟件,該軟件的(de)作用就(jiù)是(shì)接收外界發來(lái)的(de) HTTP 請求,然後根據請求内容決定去如何操作數據庫。這(zhè)樣子(zǐ),當你在(zài)CSDN網站上(shàng)輸入賬号密碼點擊登錄按鈕後,網站代碼就(jiù)會請求浏覽器去發出(chū)一條包含你輸入的(de)用戶名和(hé / huò)密碼信息的(de) HTTP 請求,該請求會發送到(dào)CSDN公司編寫的(de)軟件上(shàng),然後該軟件解析以(yǐ)後發現是(shì)要(yào / yāo)驗證輸入的(de)信息正确與否,它就(jiù)去數據庫進行查詢并驗證,然後再将正确信息告知你打開的(de)CSDN網站,最終你就(jiù)可以(yǐ)成功登錄了(le/liǎo)。
??上(shàng)述的(de)例子(zǐ)中有兩大(dà)塊東西,一塊是(shì)網站本身,一塊是(shì)中間層的(de)那個(gè)軟件,這(zhè)兩塊都是(shì)需要(yào / yāo)CSDN公司來(lái)開發的(de)。而(ér)浏覽器市場上(shàng)已經有很多了(le/liǎo),數據庫也(yě)有很多可以(yǐ)選擇的(de),所以(yǐ)他(tā)們除外。那麽具體開發什麽?

  • 網站本身

    • 界面布局:就(jiù)和(hé / huò)你畫畫一樣,總要(yào / yāo)安排好哪裏放什麽怎麽放吧
    • 交互設計:你鼠标移動到(dào) “寫博客” 按鈕上(shàng)他(tā)就(jiù)會由白變紅等等。
    • 頁面跳轉:比如你登錄成功後展示給你的(de)是(shì)哪個(gè)界面,你點擊用戶信息後展示給你的(de)又是(shì)哪個(gè)界面
    • 業務功能:比如你輸入的(de)用戶名不(bù)能包含特殊字符,當然可以(yǐ)有很多複雜的(de)業務功能,這(zhè)裏不(bù)再描述。
  • 那個(gè)轉換軟件

    • 接收HTTP請求:總要(yào / yāo)知道(dào)網站要(yào / yāo)他(tā)幹嘛吧,是(shì)要(yào / yāo)讀取用戶信息還是(shì)處理登錄驗證
    • 去和(hé / huò)數據庫交互:因爲(wéi / wèi)所有需要(yào / yāo)保存的(de)數據都是(shì)存儲在(zài)數據庫的(de)
    • 業務功能:比如用戶注冊請求,用戶密碼總不(bù)能以(yǐ)明文的(de)形式保存在(zài)數據庫吧,這(zhè)樣子(zǐ)太不(bù)安全了(le/liǎo),需要(yào / yāo)加密後再存儲。又或者用戶上(shàng)傳的(de)頭像,我們把頭像圖片存儲在(zài)别的(de)地(dì / de)方,然後再在(zài)數據庫中存儲該用戶頭像的(de)鏈接地(dì / de)址。當然可以(yǐ)有很多複雜的(de)業務功能,這(zhè)裏不(bù)再描述。

最終總結

??上(shàng)邊的(de)網站開發用專業術語來(lái)說(shuō)就(jiù)是(shì) 前端 開發,那個(gè)轉換軟件按照專業術語來(lái)說(shuō)就(jiù)是(shì) 後端 開發。前端開發主要(yào / yāo)面向的(de)是(shì)用戶,後端開發主要(yào / yāo)面向的(de)是(shì)數據庫。我們将要(yào / yāo)學習的(de)自然就(jiù)是(shì)後端開發了(le/liǎo)。前後端加起來(lái)就(jiù)是(shì)web開發。二者聯系緊密卻又有各自獨立的(de)技術棧。
??下篇文章我們将會講述web開發的(de)曆史,web開發的(de)技術棧,以(yǐ)及我們現在(zài)采用的(de)web開發的(de)方式。

推薦閱讀

本篇沒有推薦閱讀,可以(yǐ)自行搜索前端、後端、web開發進行了(le/liǎo)解。

相關案例查看更多