一个完整的URL各部分解析

2,072 阅读3分钟

前言

本次整理主要是对于前端学习中笔记的整理,为之后的Ajax和axios做铺垫。

组成

URL/URN/URI

URI=URL+URN

  • URI:统一资源标识符
  • URL:统一资源定位符
  • URN:统一资源名称

实际上,有人问你URI是什么,基本上就是问URL是什么,或许,问URI显得高端一些?

拆分组成部分

http://www.zhufengpeixun.cn:80/stu/index.html?name=xxx&age=25#teacher

传输协议

作用:用来传输客户端和服务器交互的信息的(类似于快递小哥)

常用的传输协议

  • HTTP:超文本传输协议(处理传递普通的文本,还可以传递文件流或者进制编码等信息),是目前最常用的WEB传输协议
  • HTTPS:基于SSL(Secure Socket Layer 安全套接层)加密的HTTP传输协议,比HTTP更加安全(涉及支付的网站一般都是基于HTTPS完成的)
  • FTP:文件传输协议,一般用来实现资源文件在服务器上的上传下载(运大件儿的!)

域名:Domain Name

  • 一级域名(顶级域名) www.qq.com
  • 二级域名 sprts.qq.com
  • 三级域名 kbs.sports.qq.com

常用的域名用途

  • .com 供商用的国际域名
  • .cn 供商用的中文域名
  • .net 用域网络供应商服务(系统类的经常使用NET域名)
  • .org 用于官方组织(团体啥的)
  • .edu 用于教育院校
  • .gov 用于政府机构

端口号

用来区分同一台服务器上不同的服务的标识(基于WEB服务管理创建服务的时候可以指定),不同服务之间一般是不能使用相同的端口号的,一些默认的端口号如下:

  • HTTP: 80
  • HTTPS: 443
  • FTP: 21

如果当前网站服务,采用的是协议对应的默认端口管理,那么当用户输入网址的时候可以不指定端口号,浏览器会默认的端口传递给服务器,一台服务器上的端口号范围:0~65535之间

因此,服务器上安装一款应用都可能会作为一个服务,占用一个端口号。

请求路径名称

  • path
  • pathname

例如:/stu/index.html 一般都是请求当前服务对应的项目目录中,STU文件夹中的index.html,但是也有特殊情况,就是当前的URL是被“伪URL重写”的,我们看到URL请求其实不是真实的请求(例如 http://item.jd.com/4679424.html 这个URL是被重写的,它的真实URL地址很可能是http://item.jd.com/detail.jsp?id=4679424,其实就是跳转到详情页,通过问号传递不同的产品编号,展示不同的产品详情信息,但是.jsp这种服务器渲染的动态页面不能被搜索引擎收录,不利于页面的SEO,所以我们会把动态页面静态化,这也就用到了URL重写技术)

例如:/stu/info这种没有任何后缀信息,一般不是用来请求资源文件的,而是用于AJAX数据请求的接口地址,(如果后缀是.json类的,也是同理),但是有一种除外,/stu/info/这种的很可能不是接口地址,而是没有指定请求的资源名称,服务器会请求默认的资源文件,一般都是index.html/default.html

DHTML是动态页面,泛指当前页面中的内容不是写死的而是动态绑定的,例如.jsp/.php/.aspx ...这些页面中的数据都是基于AJAX或者后台编程语言处理,由服务器端渲染,最后把渲染后的结果返回给客户端呈现的。

问号传参及哈希值

  • ?xxx=xxx&...#xxx [井号后面的是哈希]

在HTTP事务中,问号传参是客户端把信息传递给服务器的一种方式(也有可能是跳转到某一个页面,把参数值传递给页面用来标识的)

哈希值一般都是根客户端服务器交互没啥关系,主要用于页面中的锚点定位和哈希路由切换