网络探索之浏览器解析URL
theme: condensed-night-purple
解析URL
浏览器是一个具备很多功能的计算机,不仅仅是访问网络浏览信息,使用具体哪个功能是通过url的开头进行区分的,这部分也叫做协议。
协议类型举例:
1.使用Http协议访问服务器:http
2.使用FTP协议下载上传文件:ftp
3.读取计算机本地文件:file
4.发送邮件:email
浏览器会根据URL来拆分出对应的数据从而生成请求信息得知具体的操作:
从书中摘一张图来解释:
b中的url示例代表的意思是:
使用http协议代表访问Web服务器,访问www.lab.glasscom.com这个服务器计算机下面dir1文件的file1.html文件![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ca3cfc9eaa70495abc8d1375aeaa9d38~tplv-k3u1fbpfcp-zoom-1.image)
特殊情况:
1.不填写具体文件名,只列出访问的具体文件夹
http://www.lab.glasscom.com/dir1/
服务器会设置url中文件名缺失的情况下访问的文件。 一般是文件夹下的index.html或者default.html文件。 比如上面示例中的url没有填写file1.html的情况下会访问dir1下面的index.html或者default.html文件
2.只填写服务器域名,没有填写文件夹名称
表示访问这个"/"名字的文件夹下的index.html或者default.html文件。
3.省略末尾/文件夹名称
代表访问根目录的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,因此需要获取多个文件需要多次发送对每个文件的请求。
相关文章
- Vue 的网络请求
- 浏览器网络无法连接github的解决办法
- 中国软件评测中心2022年度网络和数据安全优秀案例评选结果公示
- 千亿参数大模型时代,QQ浏览器团队十亿级小模型「摩天」登顶CLUE,极致压榨网络性能
- [javaSE] 网络编程(浏览器客户端-自定义服务端)详解编程语言
- Linux系统预防网络入侵的检测方法(linux入侵检测系统)
- 微软谷歌开发新API 让浏览器支持TIFF等非网络标准和docx等专有格式
- Linux 下 Chrome 浏览器一直报“检测到网络变化”,修复方法来了
- XDef第八届全国网络与信息安全防护峰会圆满成功
- Linux动态路由教程:提高网络路由效率,增强网络稳定性(linux动态路由)
- 如何设置Linux网卡的优先级以提高网络性能(linux网卡优先级)
- Lynx在过去很长一段时间被认为是最好的浏览器,但是其巅峰时期已经过去了。这款基于文本的浏览器需要通过终端视窗查看,如果使用GUI服务器进行网络搜索,那么Lynx这类工具就必不可少了。不过它和标准浏览器不一样,不能点击链接,也不能看图片,当然更不用提Flash或Java小程序了。
- 使用telnet连接Redis,开启网络之旅(telnet redis)
- Win2003服务器网络负载平衡的配置方法[图文]
- C#开发之Socket网络编程TCP/IP层次模型、端口及报文等探讨