一 计算机基础知识
1.微型计算机系统组成
2.RAM和ROM的区别:
RAM(Ramdom Access Memory)易挥发性随机存取存储器,高速存取,读写时间相等,且与地址无关,如计算机内存等。RAM 表示的是读写存储器,可以与任一存储单元进行读或写操作,计算机关闭电源后其内的信息将不在保存,再次开机需要重新装入,通常用来存放操作系统,各种正在运行的软件、输入和输出数据、中间结果及与外存交换信息等,我们常说的内存主要是指 RAM。 ROM:(Read Only Memory)只读存储器。断电后信息不丢失,如计算机启动用的BIOS芯片。存取速度很低(较RAM而言)且不能改写。由于不能改写信息,不能升级,现已很少使用。ROM 表示的是只读存储器,即:它只能读出信息,不能写入信息,计算机关闭电源后其内的信息仍旧保存,一般用它存储固定的系统软件和字库等。
二 浏览器
1.浏览器的含义
可以显示网页服务器或者文件系统的 HTML 文件(标准通用标记语言的一个 应用)内容,并让用户与这些文件交互的一种软件。它用来显示在万维网或局域网等内的文字、图像及其他信息。这些文字或图像,可以是 连接其他网址的超链接,用户可迅速及轻易地浏览各种信息。大部分网页为 HTML 格式。
2.浏览器的种类
常见的网页浏览器有,QQ浏览器、Internet Explorer、Firefox、Safari,Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360 浏览器、UC 浏览器、傲游浏览器、世界之窗浏览器等,浏览器是最经常使用到的客户端程序。 移动端产品有(移动端的浏览器):百度、搜狗、UC、腾讯
3.浏览器的内核
IE 内核。包括 360 安全浏览器、IE、 Greenbrowser、 Maxthon2、世界之窗、刚开始的搜狗浏览器。 Chrome 内核,如 Chrome 浏览器。 双核(IE 和 chrome/webkit 内核).。双核的意思是一般网页用 chrome 内核(即 webkit 或高速模式)打开,网银等指定的网页用 IE 内核打开。 如 360 高速浏览器,搜狗高速浏览器,并不是 1 个网页同时用 2 个内核处理。
4.浏览器的主要构成
1)用户界面 - 包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分。 2)浏览器引擎 - 用来查询及操作渲染引擎的接口。 3)渲染引擎 - 用来显示请求的内容,例如,如果请求内容为 html,它负责解析 html 及 css,并将解析后的结果显示出来。 4)网络 - 用来完成网络调用,例如 http 请求,它具有平台无关的接口,可以在不同平台上工作。 5)UI 后端 - 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口。 6)JS 解释器 - 用来解释执行 JS 代码。 7)数据存储 - 属于持久层,浏览器需要在硬盘中保存类似 cookie 的各种数据,HTML5定义了 web database 技术,这是一种轻量级完整的客户端存储技术
三 服务器
1.服务器的组成
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。 在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB 服务器等。
四 IP地址
1.互联网之所以有个网字,是因为它的组成结构就像一张无形的网将全世界的计算机连接在一起,而路由器和计算机属于这个网中的一个节点。 2.IP地址的网络部分是由Internet地址分配机构来统一分配的,这样可以保证IP的唯一性,用来确定网络中的一个节点。 3.IP地址是由32位二进制(32bit)组成,将网络分为A、B、C三类,这样就形成了类型邮编的东西来表示网络和子网络。 4.IP地址中全为1即255.255.255.255,它称为限制广播地址,如果将其作为数据包的目标地址可以理解为发送到所有网络的所有主机。 5.IP地址中全为0即0.0.0.0,它表示启动时的IP地址,其含义就是尚未未分配时的IP地址。 6.127是用来进行本机测试的,除了127.255.255.255外,其它的127开头的地址都代表本机。
五 在浏览器输入网址到看到页面经历了哪些过程?
- 1.浏览器会访问DNS服务器将输入的域名对应的IP获取到
- 2.浏览通过HTTP协议和IP协议处理发送的建立连接的请求然后发送到互联网
- 3.在互联网中路由器根据目标IP地址,通过复杂的算法找出'最优路径'来传输请求
- 4.找到目标IP计算机(服务器)的网卡通过三次握手建立连接
- 5.服务器对请求进行分析处理然后返回浏览器需要的页面
-
- 浏览器拿到数据会对DOM结构和CSS进行分析形成renderTree然后渲染到页面上
- 7.在渲染的过程中有需要从服务器请求的资源,会重复1-6的过程
六 浏览器怎么渲染页面?
首先解析html,构建dom树 -> 构建render树 -> 布局render树 -> 绘制render树
七 TCP断开连接 三次握手 四次挥手
1.三次握手
目的:建立连接,开辟内存空间,双方都做好发送数据的准备。 过程: 1握:客户端发送 syn 包给服务器端,进入 SUNC_SENT 状态 2握:服务器端发送 syn+ack包,同时也发syn包,从listen到syn-rcvd状态 3握:客户端接收来着服务端的syn+ack包,向服务器端发送确认包ack包 为什么不能2次握手:因为客户端没有回应,会浪费内存资源。
2.四次挥手
目的:断开连接。 过程:
- 第一次挥手:Clien发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
- 第二次挥手:Server收到FIN后,发送一个ACK给Client,Server进入CLOSE_WAIT状态。
- 第三次挥手: Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
- 第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,发送ACK给Server,Server进入CLOSED状态,完成四次握手。 为什么是三次握手,四次挥手: 只有最后接收到ack了,才能关闭,不然害怕消息没发送完或者浪费内存资源。