浏览器的两个概念:
进程:是程序在执行过程中分配和管理资源的基本单位。就是一个程序从开始执行到执行结束的一个过程。通俗说:进程就是正在执行的应用程序。
线程:是cpu调度和分派的基本单位,它可与同属一个进程的其他线程共享进程所拥有的全部资源,简而言之,可以理解为进程的代码执行器。
总之,线程是跑在进程之中的,一个进程里面可以存在多个线程,但是一个线程只能隶属于一个进程
HTTP协议:超文本传输协议,目的是为了提供一种发布和接受HTML页面的方法,浏览器和服务器都遵循的一种语法规范,所有的信息通过这种语法规范传输,使得浏览器和服务器都可以正确理解。
浏览器的实现原理:
用户在浏览器中输入网址时候,浏览器会通过访问的域名来定位得到IP(DNS解析)会依此从浏览器缓存、系统缓存、路由器缓存、ISP DNS缓存中查找
但浏览器和服务器不是直接连接上的,需要中间的网络设备(网线),而网络设备s行传输数据还需要一种通用的语法规范(协议),这种协议一般是TCP协议和UDP协议
通信过程:
- 输入网址后,请求由浏览器以一种满足http协议的请求报文的形式发往服务器。请求报文中包含了要请求的页面地址,请求的文件类型等一系列信息
- 传递的时候,网络设备把请求报文包装在一个满足TCP协议的数据中,通过网线传送给服务器
- 服务器接受数据后,将数据解译,重新恢复成浏览器满足http协议的请求报文的形式,然后传向服务器软件
- 服务软件得到请求报文后,根据请求报