typora-copy-images-to |
---|
upload |
- 软件是为了完成特定的功能,解决特定的问题而用计算机语言编写的命令序列集合
- 软件由程序、数据和文档三部分组成
- 应用程序是软件的一个组成部份,是软件的必要元素,是一种直接面向用户的软件
服务器端、IOS端、Android端、IPad端、网页端、PC端(主要是win端和IOS端)等。
-
开发系统中的各个环节的不同部份都属于软件开发
- 这些开发者我们称之为软件开发工程师
- 开发者、程序员、码农、IT民工等等
- coder、programmer、developer
-
按照职能的不同也可以划分两类
- 后端(Back-end)开发:称为后端开发工程师
- 前端(Front-end)开发:称为前端开发工程师
-
前端开发工程师:
- 主要负责:Web(网站、后台管理系统、手机H5)、小程序端;
- 也可以做:移动端(Uniapp、React Native)、桌面端(Electron)、服务器开发(Node.js);
- 服务器本质上是一台主机,没有显示器,二十四小时不关机,用来存储巨量信息,一般转载Linux系统
- 是一个给特定的独特资源在Web上的地址
- 每个有效的URL都指向一个唯一的资源
- 这个资源可以是一个HTML页面、一个CSS文档、一副图像等等
[协议类型]://[服务器地址]:[端口号]/[文本路径][文件名]?[查询字符串]#[片段ID]
-
URI(Uniform Resource Identifier)统一资源标识符,用于标识Web技术使用的逻辑或物理资源
-
URL(Uniform Resource Locator)统一资源定位符,俗称网络地址,相当于网络中的门牌号
-
URI在某一规则下能把一个资源独一无二的识别出来
- URL作为一个网络Web资源的地址,可以将一个资源识别出来,URL是一个URI
- URL是URI的一个子集
- URI并不一定是URL
搜索引擎优化:通过了解搜索引擎的运作规则调整网站,以及提高网站在有关搜索引擎内排名的方式
- 网页的专业术语叫做Web Page
- 网页的内容可以非常丰富:包括文字、链接、图片、音乐、视频等等
- 网站是由多个网页组成的
- 通常一个网站由N个网页组成(N >= 1)
-
我们将编写好的网页打包部署到服务器作为静态资源(HTML、CSS、JavaScript)
-
当用户在URL输入地址回车
-
查找缓存:游览器先查看游览器缓存、系统缓存、路由缓存中是否有该地址页面,如果有,则显示页面内容,如果没有则进行下一步;
- 游览器缓存:游览器会记录DNS一段时间,因此,是第一个地方解析DNS请求
- 操作系统缓存:如果在游览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存)
- 路由器缓存:如果上述两个步骤都不能成功获取DNS记录,继续搜索路由器缓存
- ISP缓存:若上述均失败,继续向ISP搜索
-
DNS域名(域名解析器):游览器向DNS服务器发起请求,解析该URL中域名对应的IP地址。DNS服务器是基于UDP,因此会用到UDP协议
-
建立TCP连接:解析出IP地址后,根据IP地址和默认的80端口,和服务器建立TCP连接
-
发起HTTP请求:游览器发起读取文件的HTTP请求,该请求报文作为TCP三次握手的第三次数据发送给服务器
-
服务器响应请求并返回结果:服务器对游览器请求做出响应,并把对应的HTML文件发送给游览器
-
关闭TCP连接:通过四次挥手释放TCP连接
-
游览器渲染
-
JS引擎解析过程
- HTML
- 网页的骨骼,负责网页的内容结构
- CSS
- 网页的外部,负责网页的视觉体验和美化网页
- JavaScript
- 网页的灵魂,负责网页的交互处理
向服务器发出请求,在游览器窗口中展示您选择的网络资源(一般指HTML文件,也可以是PDF、图片或者其他类型)
- 又称游览器渲染引擎,是游览器最核心的部份
- 负责解析网页语法并渲染网页
- 不同的游览器内核有不同的解析、渲染规则,所以同一个网页在不同的游览器中渲染的效果也可能不同
- webkit(移动端) --- safari、360极速游览器、搜狗高速游览器、移动端游览器
- webkit -> Blink ---Chrome、Edge
- pestro -> Blink ---Opera
- gecko(壁虎) ---Mozila、Firefox
- trident(三叉戟) --- IE浏览器、360安全浏览器、UC浏览器、搜狗高速浏览器、百度浏览器