有這樣幾個問題,我們來思考下:
1. 我們平常瀏覽的網頁是否是應用?
2. 在操作系統中應用是如何運行的?
3. 瀏覽器究竟是什么?
4. webkit和瀏覽器的關系
5. 流量拿起是如何呈現網頁的
6. 經典問題:從瀏覽器的地址欄輸入一個網址到網頁內容呈現完畢,發生了哪些事情?
# 基本概念
## 瀏覽器
瀏覽器是用戶訪問互聯網最重要的接口。
本質上,瀏覽器是方便一般互聯網用戶通過界面解析和發送HTTP協議的軟件
### 瀏覽器發展史
1. 1991年,世界上第一款瀏覽器Nexus,功能簡單,不支持圖片
2. 1993年,Mosaic瀏覽器出現,可以顯示圖片,為了能區分瀏覽器是否能顯示圖片,出現了UserAgent
3. 1994年,Mozilla瀏覽器出現,也就是后來大名鼎鼎的Netscape,它的UserAgent為Mozilla/1.0
4. 1995年,IE瀏覽器出現,為了搶奪市場,UserAgent為Mozilla/1.22
5. 1998年,網景瀏覽器失利,成立了Mozilla組織
6. 2003年,網景公司解散,Mozilla基金會成立,這個組織推進了后來的Firefox
7. Mozilla開發了Geoko,就是后來的Firefox,它的UserAgent是Mozilla/5.0
8. 群雄并起,眾多公司的瀏覽器的UserAgent都帶有Mozilla
9. chrome和safari出現,現在占有了很大的份額
### :-: 查看用戶代理
1. 打開控制臺
2. 輸入navigator.userAgent
### UserAgent的作用
1. 判斷瀏覽器類型,采用兼容方案
2. 判斷是否為移動端?(重點了解)
3. 標識H5容器,方便調用H5容器特定接口
4. 要注意userAgent偽裝成本很低,不要過于依賴
### 內核
對于操作系統來說,**內核**是操作系統的核心,是第一層基于硬件的軟件擴充,提供最核心最基礎的服務。
應用程序通過內核進行**系統調用**來使用計算機的硬件,內核代碼簡潔高效,并且基本沒有bug,由于是最底層的服務,一點微小的錯誤也會造成整個系統的崩潰,好處當然也顯而易見,基于一個穩定的內核,開發者可以構建不同場景的操作系統和應用程序
對于瀏覽器來說,同樣存在**瀏覽器內核**,與操作系統內核相似,瀏覽器內核需要提供API給瀏覽器開發者使用,同時提供最核心的功能,如加載和渲染頁面,調用操作系統所提供的服務。
對于瀏覽器廠商來說,高效使用和開發瀏覽器內核是核心問題,對于web開發者來說,理解瀏覽器內核的基本機制,才能開發出高性能的web應用
- 初級前端題
- 必會
- http協議
- 跨域
- cookie與storage
- 移動端問題
- 性能優化
- Vue全家桶
- 有哪些常用的es6語法?
- 項目
- 閉包
- JSON
- 數據類型與運算
- 數組
- DOM
- 字符串
- 要會
- async與await
- 正則
- this
- 數據加密
- 實時獲取數據
- 原生ajax
- 異步打印
- css相關
- 雜七雜八
- webpack
- 一般
- mvvm模式
- 異步請求
- XSS
- 其他dom問題
- 冷門
- 瀏覽器緩存機制
- 新
- 瀏覽器事件輪詢
- Promise
- 樹的深度優先與廣度優先
- 拷貝
- 繼承
- Vue
- 跨域
- 排序
- 瀏覽器
- 瀏覽器入門
- 瀏覽器內核知識
- 瀏覽器渲染原理
- 瀏覽器性能調優
- 自動化構建
- 字符編碼
- git
- 一些題目
- 其他
- 邏輯思維題
- 互聯網公司招聘信息如何閱讀
- bat面試