计算机网络: 浏览器如何解析的URL?

解析URL

浏览器是一个具备很多功能的计算机,不仅仅是访问网络浏览信息,使用具体哪个功能是通过url的开头进行区分的,这部分也叫做协议

协议类型举例:

1.使用Http协议访问服务器:http

2.使用FTP协议下载上传文件:ftp

3.读取计算机本地文件:file

4.发送邮件:email

浏览器会根据URL来拆分出对应的数据从而生成请求信息得知具体的操作

从书中摘一张图来解释:

b中的url示例代表的意思是:

使用http协议代表访问Web服务器,访问www.lab.glasscom.com这个服务器计算机下面dir1文件的file1.html文件

特殊情况:

1.不填写具体文件名,只列出访问的具体文件夹

http://www.lab.glasscom.com/dir1/

服务器会设置url中文件名缺失的情况下访问的文件。 一般是文件夹下的index.html或者default.html文件。 比如上面示例中的url没有填写file1.html的情况下会访问dir1下面的index.html或者default.html文件

2.只填写服务器域名,没有填写文件夹名称

http://www.lab.glasscom.com/

表示访问这个"/"名字的文件夹下的index.html或者default.html文件。

3.省略末尾/文件夹名称

http://www.lab.glasscom.com

代表访问根目录的index.html或default.html文件

4.填写文件夹名称但是末尾没有/

http://www.lab.glasscom.com/dir1

如果计算器有dir1这个文件名就访问这个文件;如果他是文件夹的话,则还是按照默认处理:访问dir1/index.htrml或者dir1/default.html文件

客户端发送消息到服务器,服务器接受信息并处理之后返回响应消息给客户端

客户端对访问目标进行操作

访问目标也叫URI,是指代具体的文件或程序;操作这个部分是指POST,GET这些方法

url:定位符:通过服务器定位到某个目标文件

uri:标识符:用来标识一个目标资源,既可以通过url定位目标文件也可以通过其他身份标识资源,只要能够找到目标就行

服务器收到请求后也是同样的分析对哪个文件进行操作,之后将结果响应码存放到相应消息返回给客户端

举例:

1.get方法访问服务器指定文件

服务器收到后打开目标文件将文件内容返回给客户端显示

2.post方法

将表单数据提交给服务器的目标程序(此时的目标uri是服务器的应用程序)

服务器的目标程序接受到消息后处理完成将结果告知客户端

请求响应格式说明

服务器和客户端发送的http消息格式如下:

  • 消息头的功能是用来存储额外的信息,比如:日期、客户端支持的数据类型、语言、压缩格式、客户端和服务器的软件名称和版本、数据有效期和最后更新时间等
  • 消息体是真正的数据,但是get方法通过uri就知道操作了不需要携带大量数据所以get方法没有这部分内容;post提交表单涉及大量数据,这些数据就是在这个地方存放的
  • 状态码是数字代表请求的结果用于给程序看的,而状态语是一段文字说明给开发者看的
多次请求

浏览器会在显示文字时搜索相应的标签,当遇到图片相关的标签时,会在屏幕上留出用来显示图片的空间,然后再次访问Web服务器,按照标签中指定的文件名向Web服务器请求获取相应的图片并显示在预留的空间中。

由于一条请求消息只能填写一个url,因此需要获取多个文件需要多次发送对每个文件的请求。

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表