浏览器,顾名思义就是浏览信息用的,对于一些常用的服务 网页信息服务、ftp、邮件、读取本地文件等等都有支持,但是随着网页制作技术的提高、视觉效果的需求提高,浏览器更加注重网页信息渲染这部分的功能(ftp、邮件、文件系统有更专业的工具软件去处理)
URL 统一资源定位符 网络中的一切资源皆可用URL来组合表示
在使用纯命令工具的时候,经常用到
尽管URL写法不一样,但是URL都是以协议名称开头;当你输入完URL之后,按下回车键
1、浏览器拿到URL进行分析,先看协议
我们的OS系统会存储一份协议与对应打开方式的表(有些系统通过浏览器插件实现),比如你安装了百度网盘、迅雷等,那么在输入相应的 thunder:// 开头的地址后,会使用相应的软件打开
2、如果是浏览器份内的事情(例如http[s],file)
假设请求的服务器地址为 aaaa.com
浏览器解析URL中的服务器地址(aaaa.com)(我们安装linux的时候,总会提示你输入一个计算机名称),然后生成请求消息
a、生成请求消息以后,得发送到相应的服务器(aaaa.com)啊,但是tcp/ip并不知道服务器的地址(aaaa.com)和ip地址的关系,所以要委托系统去获取相应的 ip地址,这就是DNS(Domain Name System)域名解析系统,每个OS都有一个dns服务
b、OS的dns服务先查找本地的hosts文件里有没有声明对应的地址(aaaa.com)(本地优先嘛),若有,则直接往这个IP地址发送请求;如果没有,那么请求网卡配置中的DNS服务器来获取相应的ip地址,如果DNS服务器找不到,那么该DNS服务器会请求更上一层的服务器(常规的dns服务器都会遵循这个标准的)
c、找到这个地址以后,浏览器委托协议栈发送请求接收请求
3、如果是http协议,直接请求80,如果是file,直接请求资源管理器。如果是https协议
浏览器先发送一个请求包到服务器,服务端把自己的证书公钥、(临时生成)会话密钥及支持的协议列表发送给客户端,客户端对证书及协议进行鉴别,然后挑选一个自己支持的协议,然后自己再把客户端的公钥等信息加密发送过去,然后浏览器(客户端)就可以愉快的和服务器进行https通讯了