相信大家对浏览器都不陌生,我们每天都在使用浏览器,别说你没用过,我们现在天天用的微信、QQ就是内置浏览器的,比如微信或QQ好友发来网址、视频等,你直接点击就打开了,不需要再打开其他浏览器,就是因为微信和QQ内置了一个浏览器,让你直接可以在微信和QQ上浏览网页。
那么你知道它是怎样工作的吗?当你打开浏览器在上面输入一行网址,点击搜索的时候,它都做了哪些工作呢?
接下来,一步一步为您讲解。
在介绍浏览器的工作方式之前,先来介绍一下网址,什么是网址?
网址又叫做URL,中文名字叫“统一资源定位系统”。
如果你以为网址只是一个以“http://”开头的一串字符,那你就错了,网址除了“http://”开头的还可以用“ftp:”、“file:”、“mAIlto:”等开头。
之所以有各种URL,是因为我们的浏览器不止可以浏览网页,还可以用来做其他工作,只是这些工作你可能没有用过。比如浏览器可以下载文件,上传文件,它是一个多功能的客户端软件。
尽管网址有很多种写法,但它们都有一个共同的特点,那就是开头那部分写法,决定了浏览器使用的访问方法,或者说浏览器使用的功能。
当你在浏览器上的地址栏输入网址的时候,浏览器会按照一定的规则去分析这个网址的含义,然后根据这个含义去生成一个请求数据。
刚才说过,网址的格式会随着开头的写法不同而不同,因此下面我只讲解以“http:”开头的格式,这种格式主要是用来访问Web服务器的,也就是网站服务器。
根据http协议的格式,网址包含如下几种元素,当对网址进行解析时,首先按照下图a中的格式把其中的各个元素拆分出来。
没有文件名称,服务器怎么知道要访问哪个文件呢?因为服务器上都会设置一个默认的文件名,这个设置根据服务器的不同而不同,大部分服务器默认文件名称都是index.html或者default.html。
解析完网址之后,我们就知道了要访问的文件在哪了,接下来浏览器会使用HTTP协议来访问网站服务器,什么是HTTP协议呢?
HTTP协议就是一套规则,他规定了客户端和服务器之间交互的消息内容和规则,他的原理非常简单。
首先,客户端会向服务器发送请求消息。请求消息中包含的内容是对服务器上的文件进行怎样的操作。
服务器获得客户端请求后,根据请求的内容返回一个执行后的内容给客户端。
其中客户端的请求有如下几种方法,每一种方法代表了服务器需要执行不同的操作:
服务器收到请求消息之后,Web 服务器会对其中的内容进行解析,通过 URI 和方法来判断需要执行什么样的操作,并根据这些要求来完成自己的工作,然后将结果存放在响应消息中。
在响应消息的开头有一个状态码, 它用来表示操作的执行结果是成功还是发生了错误。
当我们访问 Web 服务生成HTTP请求消息时,遇到找不到的文件就会显示出404 Not Found 的错误信息。
其实这就是状态码,状态码后面是头字段和网页数据。响应消息会被发送回客户端,客户端收到之后,浏览器会从消息中读出所需的数据并显示在屏幕上。到这里HTTP的整个工作就完成了。
但是HTTP协议的还远不止这些功能,浏览器的工作也还没有完全结束,想了解更多关于浏览器的知识吗?
欢迎关注我,学习更多计算机知识!