目的 :搞清楚在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收到请求后通过配置的域名路径去本地查找对应的文件根目录,然后在根据文件根目录去查询所设定的文件子目录,最终找到对应的文件。