**
前端就業知識概括
**
1、首先要明白前端是什么?
前端開發是創建Web頁面或app等前端界面呈現給用戶的程序,通過
HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,
來實作互聯網產品的用戶界面互動 ,
2、核心技術?
- HTML語言
1、掌握HTML是網頁的核心,是一種制作萬維網頁面的標準語言,是萬維網瀏覽器使用的一種語言,它消除了不同計算機之間資訊交流的障礙,因此,它是目前網路上應用最為廣泛的語言,也是構成網頁檔案的主要語言,學好HTML是成為Web前端開發人員的基本條件,
2、HTML是一種標記語言,能夠實作Web頁面并在瀏覽器中顯示,HTML5作為HTML的最新版本,引入了多項新技術,大大增強了對于應用的支持能力,使得Web技術不再局限于呈現網頁內容,
3、隨著CSS、JavaScript、Flash等技術的發展,Web對于應用的處理能力逐漸增強,用戶瀏覽網頁的體驗已經有了較大的改善,不過HTML5中的幾項新技術實作了質的突破,使得Web技術首次被認為能夠接近于本地原生應用技術,開發Web應用真正成為開發者的一個選擇,
4、HTML5可以使開發者的作業大大簡化,理論上單次開發就可以在不同平臺借助瀏覽器運行,降低開發的成本,這也是產業界普遍認為HTML5技術的主要優點之一,AppMobi、摩托羅拉、Sencha、Appcelerator等公司均已推出了較為成熟的開發工具,支持HTML5應用的發展,
- CSS
1、層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等檔案樣式的計算機語言,CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化,
2、CSS 能夠對網頁中元素位置的排版進行像素級精確控制,支持幾乎所有的字體字號樣式,擁有對網頁物件和模型樣式編輯的能力,
- JavaScript
JavaScript(簡稱“JS”) 是一種具有函式優先的輕量級,解釋型或即時編譯型的編程語言,雖然它是作為開發Web頁面的腳本語言而出名,但是它也被用到了很多非瀏覽器環境中,JavaScript 基于原型編程、多范式的動態腳本語言,并且支持面向物件、命令式和宣告式(如函式式編程)風格,
- 作業系統
1、行程與執行緒的區別
1、行程是資源分配和保護的基本單位,執行緒是處理器調度和分派的基本單位,程式執行的最小單元,
2、同一個行程中可以包含多個執行緒,并且執行緒共享整個行程的資源(暫存器、堆疊、背景關系),一個行程至少包含一個執行緒
3、 行程結束后,它所有的執行緒都將銷毀,而執行緒的結束不會影響同個行程中其他執行緒的結束
4、執行緒是輕量級的行程,它的創建和銷毀所需時間和空間都比行程小很多,所有作業系統的執行功能都是創建執行緒去完成的
5、執行緒有自己的私有屬性TCB,執行緒id,暫存器、硬體背景關系,而行程也有自己的私有屬性行程控制塊PCB,這些私有屬性是不被共享的,用來標示一個行程或一個執行緒的標志
2、行程的幾種狀態
1、運行狀態:行程正在處理機上運行
2、就緒狀態:行程已經獲得了除處理機之外的一切所需資源
3、阻塞狀態:行程正在等待某一事件而暫停執行
4、創建狀態:行程正在被創建,尚未轉到就緒狀態
5、結束狀態:行程正在從系統中消失,分為正常結束和例外退出

3、什么是虛擬記憶體
基于區域性原理,我們可以把程式的一部分裝到記憶體,而將其余部分留在外存,就可以啟動程式運行,當所訪問的資訊不存在時,作業系統就將所需部分調入記憶體,此外,作業系統會將記憶體中暫不需要的部份換出到外存中,從而騰出空間存放將要調入記憶體的資訊,這樣系統好像為用戶提供了一個比實際記憶體大得多的存盤器,稱為虛擬存盤器
4、內核態和用戶態
根據執行程式對資源和機器指令的使用權限可以將處理器的狀態分為內核態和用戶態,
內核是一組程式模塊,運行于內核態,具有直接訪問硬體設備和所有記憶體空間的權限,是僅有的能夠執行特權指令的程式,
- 網路服務器
1、 計算機網路體系結構標準
目前,由國際化標準組織ISO制定的網路體系結構國際標準是 OSI七層模型,但實際中應用最廣泛的是 TCP/IP體系結構

應用層:為用戶的應用行程提供網路通信服務,
表示層:資料的編碼,壓縮和解壓縮,加密和解密,
會話層:是用戶應用程式和網路之間的介面,負責在網路中的兩節點之間建立、維持和終止通信,
傳輸層:負責向兩臺主機中行程之間的通信提供通用的資料傳輸服務,通用指多種應用可以使用同一個運輸層服務,因此運輸層有復用和分用的功能,(把來自會話層的完整報文分割成資料段,構造協議資料單元,交給網路層進行傳輸),
網路層:負責為分組交換網上的不同主機提供通信服務,轉發,將分組從路由器的輸入埠轉移到合適的輸出埠;路由,通過路由演算法確定分組從源到目的經過的路徑;連接建立,不是所有網路都需要,某些網路的重要功能,如虛電路,
資料鏈路層:將IP資料報加頭加尾構成幀,通常頭部加物理地址等資訊,尾部加差錯檢測等資訊,通過差錯控制、流量控制等方法,實作資料在不可靠的物理線路上的可靠傳遞,
物理層:在物理介質上正確、透明地傳送位元流(由1、0轉化為電流強弱進行傳輸,到達目的地后再轉換為1、0)
2、重點概覽
1、Http和Https區別
| 區別 | 具體表現 |
|---|---|
| 傳輸資訊安全性不同 | 1、http協議:是超文本傳輸協議,資訊是明文傳輸,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的資訊,2、https協議:是具有安全性的ssl加密傳輸協議,為瀏覽器和服務器之間的通信加密,確保資料傳輸的安全, |
| 連接方式不同 | 1、http協議:http的連接很簡單,是無狀態的,2、https協議:是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議 |
| 埠不同 | 1、http協議:使用的埠是80,2、https協議:使用的埠是443. |
| 證書申請方式不同 | 1、http協議:免費申請,2、https協議:需要到ca申請證書,一般免費證書很少,需要交費 |
2、Get和Post的區別
get傳送的資料長度有限制,因為是放在url中傳遞引數,如果傳遞中文引數,需要自己進行編碼操作,安全性較低,post是放在報文中,沒有限制,
適用場景:post一般用于資料提交,get一般用于簡單的資料查詢,嚴格要求不是那么高的場景
3、常見狀態碼及原因短語
1××:表示通知資訊,如請求已被接受或正在處理,
2××:請求成功,
3××:重定向,要完成請求必須進行進一步處理,
4××:客戶端錯誤,請求不合法,
5××:服務器端錯誤,服務器失效無法完成請求,
4、TCP/IP的三次握手與四次揮手
TCP對應的協議:HTTP、SMTP、POP3、FTP、Telnet
第一次握手:客戶端發出連接請求報文段,其中將SYN標志位置為1表示要建立連接,選擇一個初始序列號seq=x,不攜帶資料但消耗一個序號,之后TCP客戶行程進入SYN-SENT(同步已發送)狀態,
第二次握手:服務器收到連接請求報文段后,如同意建立連接,向客戶端發送確認,在確認報文段中將SYN位和ACK位都置1,確認號是ack=x+1,選擇一個初始序號seq=y,不攜帶資料但消耗一個序號,TCP服務器行程進入SYN-RCVD(同步收到)狀態,
第三次握手:TCP客戶行程收到服務器的確認后,檢查ack是否是x+1,ACK是否是1,如果正確,向服務器發送確認報文段,其中ACK置1,確認號ack=y+1,序號seq=x+1,可以攜帶資料,但如果不攜帶資料則不消耗序號,服務器檢查ack是否為y+1,ACK是否為1,如果正確則連接建立成功,客戶端和服務器進入ESTABLISHED(已建立連接)狀態,

第一次揮手:客戶端的應用行程發出連接釋放報文段,停止發送資料,FIN置1,序號seq=u,是前面已經傳送過的資料的最后一個位元組的序號加1,不攜帶資料但消耗一個序號,客戶端進入FIN-WAIT-1(終止等待1)狀態,等待服務器的確認,
第二次揮手: 服務器收到連接釋放報文段后發出確認,ACK置1,確認號ack=u+1,序號seq=v,是服務器前面已經傳送過的資料的最后一個位元組的序號加1,服務器進入CLOSE-WAIT(關閉等待)狀態,從客戶端到服務器的連接釋放了,
客戶端收到來自服務器端的確認后,進入FIN-WAIT-2(終止等待)狀態,等待服務器發出連接釋放報文段,
第三次揮手:若服務器已經沒有要向客戶端發送的資料,發出連接釋放報文段,FIN置1,序號seq=w,確認號ack=u+1,服務器進入LAST-ACK(最后確認)狀態,等待客戶端的確認,
第四次揮手:客戶端收到服務器的連接釋放報文段后,發出確認,ACK置1,確認號ack=w+1,序號seq=u+1,進入TIME-WAIT(時間等待)狀態,經過2MSL后,進入CLOSED狀態,

5、從輸入網址到獲得頁面的程序
1、域名決議DNS,找到IP地址
在瀏覽器快取、hosts檔案、路由器快取中查找url對應的IP地址,
如果沒有找到,則發起一個DNS請求到本地域名服務器,在其快取中進行查找,如果沒有,本地DNS服務器向根DNS服務器發起請求,根DNS服務器回傳頂級DNS服務器的地址;本地DNS服務器向頂級DNS服務器發起請求,頂級DNS服務器回傳權限DNS服務器的地址;本地DNS服務器向權限DNS服務器發起請求,權限DNS服務器查詢到域名對應的IP后,將IP地址回傳給本地DNS服務器;本地DNS服務器接收后將其保存到快取中,以備下次查詢,本地DNS服務器將IP地址回傳給客戶主機瀏覽器,
2、瀏覽器向Web服務器發送HTTP請求
瀏覽器以一個隨機的埠(1024~65535)向服務器的Web程式埠(HTTP協議使用80/8080埠,HTTPS使用443埠)發起TCP連接請求,三次握手后,建立TCP連接,建立連接后,發送一個HTTP請求,包含請求行、請求頭、請求正文,
3、服務器處理請求,回傳HTTP回應
后端服務器從固定的埠接收到TCP報文后,對HTTP協議進行決議,然后將相應的資料封裝為HTTP Request物件,供上層使用HTTP回應,包括狀態行、回應頭、回應正文,
4、瀏覽器顯示頁面資訊
用戶請求的HTML檔案通過瀏覽器的網路層到達渲染引擎后,渲染作業開始
- 前端框架介紹
Vue
Vue鏈接
Vue (讀音 /vju?/,類似于 view) 是一套用于構建用戶界面的漸進式框架,與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用,Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有專案整合,另一方面,當與現代化的工具鏈以及各種支持類別庫結合使用時,Vue 也完全能夠為復雜的單頁應用提供驅動,
React
React鏈接
React 是一個用于構建用戶界面的 JAVASCRIPT 庫,React主要用于構建UI,很多人認為 React 是 MVC 中的 V(視圖),React 起源于 Facebook 的內部專案,用來架設 Instagram 的網站,并于 2013 年 5 月開源,React 擁有較高的性能,代碼邏輯非常簡單,越來越多的人已開始關注和使用它,
Angular
Angular鏈接
AngularJS誕生于2009年,由Misko Hevery 等人創建,后為Google所收購,是一款優秀的前端JS框架,已經被用于Google的多款產品當中,AngularJS有著諸多特性,最為核心的是:MVVM、模塊化、自動化雙向資料系結、語意化標簽、依賴注入等等,
Layui
Layui鏈接
layui(諧音:類UI) 是一款采用自身模塊規范撰寫的前端 UI 框架,遵循原生 HTML/CSS/JS 的書寫與組織形式,門檻極低,拿來即用,其外在極簡,卻又不失飽滿的內在,體積輕盈,組件豐盈,從核心代碼到 API 的每一處細節都經過精心雕琢,非常適合界面的快速開發,layui 首個版本發布于2016年金秋,她區別于那些基于 MVVM 底層的 UI 框架,卻并非逆道而行,而是信奉返璞歸真之道,準確地說,她更多是為服務端程式員量身定做,你無需涉足各種前端工具的復雜配置,只需面對瀏覽器本身,讓一切你所需要的元素與互動,從這里信手拈來,
小結
第一次博客,希望所有人都能找到適合自己的作業 ,大家一起努力,文章還有很多不足的地方希望大家多多指正,就業順利,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/265667.html
標籤:其他
上一篇:分塊矩陣行列式的性質證明
下一篇:寫博客能月入10K?
