知識
不管是網站,軟件還是小程序,都要直接或間接能為您產生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站成為營銷工具,讓軟件能切實提升企業(yè)內部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
java后端開發(fā)(一):基本認知之web開發(fā)是什么
發(fā)表時間:2018-8-5
發(fā)布人:葵宇科技
瀏覽次數:59
前言
??前兩篇都是和數據庫基本知識有關的: 數據表設計與mysql入門(一)和 數據表設計與mysql入門(二) 。邏輯上會設計數據表操作數據庫了,但是還需要結合實際項目去加深印象。但是往下走之前,我們有必要先了解一下java web開發(fā)的相關背景知識和基礎知識。
前置條件
??必看! 圖解TCP/IP ,具體看哪部分,書簽欄已經標注了。如果你有這本書,那么就看第一章,第二章,第8章第5小節(jié)即可。就是講述了網絡的基本概念,通俗易懂很有趣。
網站、瀏覽器VS操作系統、軟件
??瀏覽器可以比作是電腦系統,他只是個運行環(huán)境,而網站就相當于電腦操作系統上的一個個軟件,軟件程序運行在電腦操作系統上,對應的就是網站(代碼)運行在瀏覽器上。我們說的軟件編程也就是編寫代碼,而我們的網站其實本質上就是一行行的代碼,只不過被瀏覽器解析成你看到的界面與功能。電腦軟件也是一樣,你的excel就是一堆代碼,只不過被電腦系統解析成你看到的樣子。
??而電腦軟件和網站的區(qū)別之一在于:電腦軟件是你安裝的時候就一次性的永久的把軟件代碼下載到電腦上了(除非你刪掉),你每次使用軟件都是操作系統在解析代碼的過程;而你在瀏覽器中輸入網址后,瀏覽器才會將網站代碼下載下來,并進行解析后展示給你,你關掉了瀏覽器那么這些代碼也就被刪除了。
??所以這也是為什么你關掉瀏覽器然后斷開網絡,你再次打開瀏覽器輸入網站地址卻打不開網站的原因,因為網站代碼刪掉了,瀏覽器沒有可以解析的東西,并且因為網絡原因瀏覽器也不能下載網站代碼,所以沒法展示給你網站信息,只能提示你網絡有問題。
一個問題
??你登錄CSDN總要輸入用戶名和密碼吧?輸入了正確的用戶名和密碼后,就可以看到自己的博客列表。那么CSDN怎么知道你輸入的用戶名和密碼正確與否呢?
- 存在瀏覽器中。換一個瀏覽器怎么辦?
- 存在電腦上。換一個電腦登錄怎么辦?
- 將賬號密碼寫死在網頁中。別人登錄怎么辦?
??也就是說CSDN想要校驗你輸入的用戶名和密碼正不正確,他必須要去存儲正確賬號和密碼的地方去讀取才行,比如所有用戶的賬號和密碼存在CSDN這家公司中的一臺電腦上的Excel中。聽起來好像不錯,但是先不說能不能實現,光這種方案就感覺漏洞很多。不過我們目前可以認同的是:用戶名和密碼肯定要存儲在和CSDN這家公司相關的機器上,這樣子全國各地的用戶才能不限時間地點的正確登錄。
??CSDN那邊到底怎么存儲呢?百思不得其解?去前言找找答案?
??答案當然是數據庫??催^前兩篇的同學肯定對數據庫不陌生。CSDN將用戶名和密碼存儲在他們公司的數據庫中,當用戶在界面上輸入賬號密碼時,CSDN網站會去數據庫中查詢該用戶名對應的密碼,如果查到的密碼和用戶輸入的密碼一樣,就可得知用戶輸入正確,所以登錄操作就會成功。
那么你有感到奇怪嗎?上段中的描述:
CSDN網站會去數據庫中查詢該用戶名對應的密碼
??數據庫在CSDN公司里面,網站就在我打開的瀏覽器上,那么網站是怎么去數據庫中查詢的呢?
??通過前置條件中針對網絡基礎的學習,我相信你已經理解 協議
這個概念了,簡單理解就是一種語言。而我們的瀏覽器只知道 HTTP
這種語言(當然,這樣表述并不十分準確)。但是數據庫我們說過了,他是解析 SQL
這種語言的,實際上 mysql
的語言是另外一種語言,總之和 HTTP
完全不同。
并且,
??說了這么多,我們再回來。不論網站代碼怎么樣,瀏覽器不支持其他協議你能怎么辦?可是你又必須要去讀取數據庫的數據啊?,F在我們的境遇是:
??一邊是支持 HTTP
協議的瀏覽器,一邊是支持特殊協議的 mysql
。二者肯定不能直接通訊了,那么該怎么辦?
如何處理
??我們是不是可以找一個中間人,它既支持 HTTP
協議又可以支持 mysql
自定義的協議呢?就相當于找一個即會英語又會漢語的翻譯員。
??好的,CSDN在公司的電腦上編寫了一個軟件,該軟件的作用就是接收外界發(fā)來的 HTTP
請求,然后根據請求內容決定去如何操作數據庫。這樣子,當你在CSDN網站上輸入賬號密碼點擊登錄按鈕后,網站代碼就會請求瀏覽器去發(fā)出一條包含你輸入的用戶名和密碼信息的 HTTP
請求,該請求會發(fā)送到CSDN公司編寫的軟件上,然后該軟件解析以后發(fā)現是要驗證輸入的信息正確與否,它就去數據庫進行查詢并驗證,然后再將正確信息告知你打開的CSDN網站,最終你就可以成功登錄了。
??上述的例子中有兩大塊東西,一塊是網站本身,一塊是中間層的那個軟件,這兩塊都是需要CSDN公司來開發(fā)的。而瀏覽器市場上已經有很多了,數據庫也有很多可以選擇的,所以他們除外。那么具體開發(fā)什么?
網站本身
- 界面布局:就和你畫畫一樣,總要安排好哪里放什么怎么放吧
- 交互設計:你鼠標移動到 “寫博客” 按鈕上他就會由白變紅等等。
- 頁面跳轉:比如你登錄成功后展示給你的是哪個界面,你點擊用戶信息后展示給你的又是哪個界面
- 業(yè)務功能:比如你輸入的用戶名不能包含特殊字符,當然可以有很多復雜的業(yè)務功能,這里不再描述。
那個轉換軟件
- 接收HTTP請求:總要知道網站要他干嘛吧,是要讀取用戶信息還是處理登錄驗證
- 去和數據庫交互:因為所有需要保存的數據都是存儲在數據庫的
- 業(yè)務功能:比如用戶注冊請求,用戶密碼總不能以明文的形式保存在數據庫吧,這樣子太不安全了,需要加密后再存儲。又或者用戶上傳的頭像,我們把頭像圖片存儲在別的地方,然后再在數據庫中存儲該用戶頭像的鏈接地址。當然可以有很多復雜的業(yè)務功能,這里不再描述。
最終總結
??上邊的網站開發(fā)用專業(yè)術語來說就是 前端
開發(fā),那個轉換軟件按照專業(yè)術語來說就是 后端
開發(fā)。前端開發(fā)主要面向的是用戶,后端開發(fā)主要面向的是數據庫。我們將要學習的自然就是后端開發(fā)了。前后端加起來就是web開發(fā)。二者聯系緊密卻又有各自獨立的技術棧。
??下篇文章我們將會講述web開發(fā)的歷史,web開發(fā)的技術棧,以及我們現在采用的web開發(fā)的方式。
推薦閱讀
本篇沒有推薦閱讀,可以自行搜索前端、后端、web開發(fā)進行了解。