• 怎么通过URL访问到服务器上的物理文件


    目的 :搞清楚在jsp页面中如何引用static目录结构中的静态资源

    一、URL

    • URL的全称是统一资源定位符,俗称网页地址(网址),如同在网络上的门牌,是因特网上标准的资源的地址(Address)。
    • URL的语法是一般的,可扩展的,它使用ASCII代码的一部分来表示因特网的地址。URL的开始,一般会标志着一个计算机网络所使用的网络协议。
    • 统一资源定位符的标准格式:协议类型://服务器地址(必要时需加上端口号)/路径/文件名
    • 超文本传输协议(HTTP)的URL将从因特网获取信息的五个基本元素包括在一个简单的地址中:
      1、传送协议。
      2、服务器。(通常为域名,有时为IP地址)
      3、端口号。(以数字方式表示,若为HTTP的预设值“:80”可省略)
      4、路径。(以“/”字元区别路径中的每一个目录名称)
      5、查询。(GET模式的表单参数,以“?”字元为起点,每个参数以“&”隔开,再以“=”分开参数名称与资料,通常以UTF8的URL编码,避开字元冲突的问题)

    二、域名解析

    首先浏览器会去解析www.xxx.com这个域名(主机名)对应的IP地址,步骤如下
    第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
    第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
    第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
    第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

    三、回归问题:怎么通过URL访问到服务器中的物理文件

    1、首先在地址栏输入URL后,浏览器会搜索自身的DNS缓存,看自身的缓存中是否有www.xxx.com 对应的条目,而且没有过期,如果有且没有过期则解析到此结束。
    2、如果浏览器自身的缓存里面没有找到对应的条目,那么浏览器会搜索操作系统自身的DNS缓存,如果找到且没有过期则停止搜索解析到此结束。
    3、如果在Windows系统的DNS缓存也没有找到,那么尝试读取hosts文件,看看这里面有没有该域名对应的IP地址,如果有则解析成功。
    4、如果在hosts文件中也没有找到对应的条目,浏览器就会发起一个DNS的系统调用,就会向本地配置的首选DNS服务器发起域名解析请求,运营商的DNS服务器首先查找自身的缓存,找到对应的条目,且没有过期,则解析成功。
    5、域名解析的整个过称就是寻址的过称,解析到对应的IP地址之后,就开始搜寻该物理机上的文件目录
    2、URL默认的端口为80,服务器上会有软件程序监听着80端口,一般为tomcat或者nginx,现假设为nginx。
    3、nginx收到请求后通过配置的域名路径去本地查找对应的文件根目录,然后在根据文件根目录去查询所设定的文件子目录,最终找到对应的文件。

    【版权所有,转载请注明原文链接】文章中有错误或者不妥的地方请指出!!! 我是一个要成为前端架构师的人呢。
  • 相关阅读:
    如何解决跨域问题?
    eclipse 显示堆内存状态
    MATLAB解一元线性回归问题
    Java深入理解深拷贝和浅拷贝区别
    Spring中使用DataSourceTransactionManager进行事务管理的xml配置
    jsp:forward
    Mybatis入门笔记链接
    python 判断字符串是否全为字母或数字
    java对象的浅克隆和深克隆
    安装使用ipython notebook
  • 原文地址:https://www.cnblogs.com/wyangnb/p/5394262.html
Copyright © 2020-2023  润新知