• 所有在浏览器端执行的代码中的“路径”都是告诉浏览器向哪个服务器路径发起请求


    所有在浏览器端执行的代码中所包含的路径,其实最终的作用都是告诉浏览器向哪个服务器路径发起请求。

    比如:

    一、

    当你请求如下路径时:

    http://localhost:9000/a/b/c/index.html

    如果在index.html中包含一个img标签,如下:

    <img alt="dog" src="../images/a.gif"/>

    那么当浏览器解析到img这个标签的时候,会向http://localhost:9000/a/b/images/a.gif发起请求。原因是当浏览器解析"../images/a.gif"这个路径的时候,因为该img标签是包含在index.html文件中的,所以浏览器会先找到index.html这个文件是通过请求哪个路径获取到的(显然是:http://localhost:9000/a/b/c/ 这个路径),然后浏览器会基于"http://localhost:9000/a/b/c/"路径和"../images/a.gif"进行运算,结果就是在"http://localhost:9000/a/b/c/"的基础上,先回到上一级目录,然后在上一级目录下寻找images/a.gif,最终结果就变成了http://localhost:9000/a/b/images/a.gif。

    二、同理,当index.html中包含一个css文件时,也是如此。

    比如,在index.html中包含如下代码来引入css:

    <link rel="stylesheet" type="text/css" href="css/news.css" />

    而在news.css文件中又包含如下代码:

    background: url("../images/grayarrow.gif")

    那么此时,浏览器会发起怎样的请求来获取graarrow.gif这张图片呢?

    首先,根据index.html的请求地址:

    http://localhost:9000/a/b/c/

    和index.html中css的路径

    href="css/news.css"

    计算出请求news.css的路径为:

    http://localhost:9000/a/b/c/css/news.css

    接下来再news.css中的代码:

    background: url("../images/grayarrow.gif")

    又会根据news.css的路径来计算grayarrow.gif的请求路径为:

    http://localhost:9000/a/b/c/images/grayarrow.gif

    至此,大家要理解清楚对于浏览器来说所有静态文件(html、css、JavaScript)中的路径,最终都是为了告诉浏览器应该对哪个路径发起请求。

  • 相关阅读:
    科技公司网站
    jquery 设置元素内容html(),text(),val()
    jquery 相关class属性的操作
    jquery attr()和prop()方法的使用
    检测移动设备横竖屏
    设定程序在某个特定时刻执行
    js设计模式-建造者模式
    css自定义字体完美解决方案example
    css透明属性
    css3多列example
  • 原文地址:https://www.cnblogs.com/zxhoo/p/6440917.html
Copyright © 2020-2023  润新知