URL的绝对路径/相对路

本文详细介绍了URL的基本结构,区分了绝对路径和相对路径,以及浏览器如何在用户交互或页面加载时自动发送HTTP请求,包括GET和POST等。特别关注了单页面应用中的路径处理和HTML元素触发的自动请求行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、URL

浏览器要想发起请求,必须是一个完整的url地址.

URL是一个固定格式的字符串
在这里插入图片描述

它表达了:
从网络中 哪台计算机(domain) 中的 哪个程序(port) 寻找 哪个服务(path),并注明了获取服务的 具体细节(path),以及要用什么样的协议通信(schema)

这里面包含了一些细节:

  • 当协议是http端口为80时,端口可以省略
  • 当协议是https端口为443时,端口可以省略
  • schemadomainpath是必填的,其他的根据具体的要求填写

二、绝对路径/相对路径

例如:当前页面: https://www.baidu.com/a/b/1.html

绝对路径:

和当前页面的path无关

  1. 省略协议名

    //www.sina.com/a.html
    转换成完整路径:https://www.sina.com/a.html

  2. 只指定路径

    /a.html
    转换成完整路径:https://www.baidu.com/a.html

相对路径:

和当前页面的path密切相关

  1. ./

    定位倒数第一个斜杠

    ./2.html
    转换成完整路径: https://www.baidu.com/a/b/2.html

  2. ../

    定位倒数第二个斜杠

    ../2.html
    转换成完整路径: https://www.baidu.com/a/2.html

  3. 不带斜杠

    等同./

    2.html
    转换成完整路径: https://www.baidu.com/a/b/2.html

单页面应用使用的是绝对路径.

三、自动发出请求的能力

当一些事情发生的时候,浏览器会代替用户自动发出http请求,常见的包括:

  1. 用户在地址栏输入了一个url地址,并按下了回车

    浏览器会自动解析URL,并发出一个GET请求,同时抛弃当前页面。

  2. 当用户点击了页面中的a元素

    浏览器会拿到a元素的href地址,并发出一个GET请求,同时抛弃当前页面。

  3. 当用户点击了提交按钮<button type="submit">...</button>

    浏览器会获取按钮所在的<form>元素,拿到它的action属性地址,同时拿到它method属性值,然后把表单中的数据组织到请求体中,发出指定方法的请求,同时抛弃当前页面。

    这种方式的提交现在越来越少见了

  4. 当解析HTML时遇到了<link> <img> <script> <video> <audio>等元素

    浏览器会拿到对应的地址,发出GET请求

  5. 当用户点击了刷新

    浏览器会拿到当前页面的地址,以及当前页面的请求方法,重新发一次请求,同时抛弃当前页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值