解析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腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表