计算机网络-图解

本文深入解析了浏览器生成HTTP请求消息的全过程,包括URL解析、HTTP方法(GET, POST)的使用以及请求消息的构造。同时,介绍了向DNS服务器查询Web服务器IP地址的步骤,如IP地址基础知识、域名与IP地址并用的原因,以及DNS服务器的接力工作。最后,讨论了数据收发操作,包括创建套接字和连接阶段,为网络通信建立了基础。" 121759360,11041914,C++实现优化算法:0.618法、Fibonacci法与二分法,"['c++', '开发语言', '后端', '算法', '数值计算']
摘要由CSDN通过智能技术生成

第一章 浏览器生成消息

1. 生成HTTP请求消息

1 浏览器先要解析URL

1.首先URL是什么?
URL(Uniform Resource Locator)别称叫做网址或者是叫做统一资源定位符
2.浏览器首先应该要对URL进行解析,也就是获取访问的服务器域名和服务器上的文件,解析规则如下图:

在这里插入图片描述

2 省略文件名的情况

我们有时会见到 http://www.lab.glasscom.com/dir/ 的这种情况,以 / 结束代表/dir/后面本来应该有的文件名被省略了,根据URL的规则,是可以被省略的,但是没有文件名,服务器如何知道我们要访问哪一个文件呢?其实我们一般会在服务器上事先设计好文件名省略时要访问的文件名。

但是!如果出现 http://www.lab.glasscom.com 这种情况,连结束符 / 都没有了,这代表着访问根目录下事先设置的默认文件,也就是/index.html或者是/default.html这些文件,这样就不会发生会混乱了。

3 HTTP的基本思路

在解析完URL之后,浏览器会使用HTTP协议来访问Web服务器。
HTTP协议定义了客户端和服务器之间交互的消息内容和步骤,基本思路就是客户端回想服务器发送请求消息,而其中包含了请求的对象和对于该对象的操作这两个部分。
在这里插入图片描述

收到请求之后,Web服务器会对其中的内容进行解析,并根据以此来完成自己的工作,然后将结果存放在响应的消息中。在响应的消息的开头有一个状态码,用来表示操作的执行结果是成功还是结束。如果找不到文件,一般就是"404 Not Find"这就是状态码,状态码后面就是头字段和网页数据。

举例1:现在大家应该已经了解了HTTP的全貌,下面我们再补充一些关于HTTP方法的知识。上述表中,列出的方法中,最常用的一个就是GET方法了。一般当我们访问Web服务器获取网页数据时,使用的就是GET方法。所谓一般的访问过程大概就是这样的:首先,在请求消息中写上GET方法,然后在URI中写上存放网页数据的文件名“/dir1/file1.html”,这就表示我们需要获取/dir1/file1.html文件中的数据。当Web服务器收到消息后,会打开/dir1/file1.html文件并读取出里面的数据,然后将读出的数据存放到响应消息中,并返回给客户端。最后,客户端浏览器会收到这些数据并显示在屏幕上。
举例2:还有一个经常使用的方法就是POST。我们在表单中填写数据并将其发送给Web服务器时就会使用这个方法。当我们在网上商城填写收货地址和姓名,或者是在网上填写问卷时,都会遇到带有输入框的网页,而这些可以输入信息的部分就是表单。使用POST方法时,URI会指向Web服务器中运行的一个应用程序的文件名,典型的例子包括“index.cgi”“index. php”等。然后,在请求消息中,除了方法和URI之外,还要加上传递给应用程序和脚本的数据。这里的数据也就是用户在输入框里填写的信息。当服务器收到消息后,Web服务器会将请求消息中的数据发送给URI指定的应用程序。最后,Web服务器从应用程序接收输出的结果,会将它存放到响应消息中并返回给客户端。

当然如果还有PUT和DELETE方法就能够从客户端修改或者是删除Web上的文件,甚至还可以将Web服务器当成文件服务器来使用。

4 生成HTTP请求消息

在对URL进行解析后,浏览器确定了Web服务器和文件名,接下来就是根据这些信息来生成HTTP请求消息了,格式如下:
在这里插入图片描述

下面我们看一个例子:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值