前两天一个做网络营销的朋友联系我,说客户的网页出问题了,问题是这样的:

客户网站网址是:https://www.example.com
网站有一个功能,在网址后面输入 #popup 就会在页面弹出一个对话框
朋友为了给网站添加追踪统计,需要给网址添加一个查询参数 ?source=abc ,最终网址长这样:https://www.example.com#popup?source=abc
朋友的问题来了:为什么网页上的对话框弹不出来了?

我修改了一下网址片断的顺序发给朋友,她说:“好了!”。下面我们追根溯源,一起研究下 https://www.example.com#popup?source=abc 这个网址问题出在哪里。

什么是网址

在互联网上,每一个资源都有自己唯一的地址,也就是我们通常称呼的 URL(Uniform Resource Locator,统一资源定位符)。

网址的语法

没错,网址也有语法,就跟咱们自然语言有主谓宾一样,并且顺序是一定的

protocol :// hostname[:port] / [path] / [?query][#fragment]

方括号 [ ] 为可选项

协议

协议就是一种约定,现实生活中我们的插座有两口和三口的,这就好比两个协议,如果我们插头跟插座匹配,则可以供电,如果不匹配则不能。

互联网用来数据传输的协议有很多,我们访问网站都是通过 HTTP 协议,至于为什么现在主流的网站网址前都是 HTTPS 我们再后面的文章中再细说(敲黑板,可以先点个订阅了)。

常见的协议有下面这些:

  • http: 超文本传输协议,也是我们上网最常见的
  • ftp: 是一种资源访问协议,可以读写远程服务器上的文件
  • mailto: 电子邮件协议,如果网页上的链接是 mailto 协议的,那么点击这个链接则会打开电脑默认的邮件客户端,比如 outlook, foxmail 等
  • thunder: 用过迅雷下载的同学应该不陌生
  • rtmp:最近这几年直播大火,一个个直播间的背后就是通过这个协议进行直播视频流的传输

域名

互联网上的每一台计算机都有一个 IP 地址就像这样 192.168.1.1, 如果我们要访问一台计算机上的网站就要记住一个 IP 地址就太痛苦了,所以我们把这些长串的数字都映射成了好记的域名,例如:www.qq.com。

端口

如果把一个计算机看作是一栋有五个单元的楼房,那么端口就是每个单元的大门,虽然你进入哪个单元都是进入了这栋楼房,但是你拜访的是完全不同的住户。

路径

接上面的,路径就好比一个单元里不同的住户,指定不同的路径,就可以进入不同的人家。

查询

当你敲门时,屋里的人问你是谁,你回答说:“我是张三”,这时候 URL 上的体现就是 ?who=张三,这样这家人(计算机)就知道你是张三了。

信息片断(锚点)

如果网址上写着 #卫生间,那么当主人给你开门后,你就会直接走进人家的卫生间。

“网站有一个功能,在网址后面输入 #popup 就会在页面弹出一个对话框”

这就是为什么打开网页可以直接定位到一个打开的弹出框。

最后

说了这么多,你知道https://www.example.com#popup?source=abc 这个网址问题出在哪里了么,当你看到浏览器地址栏里长长网址时,能分清它的结构了么?

如果不确定正确网址是什么,在请关注微信公众号:你的程序员男朋友,发送 【正确网址】,将会告诉你正确答案。

支持https协议么_你真的了解网址么?相关推荐

  1. loadrunner支持https协议的操作方法-经验总结

    问题:用户portal支持https协议,用loadrunner录制登陆脚本时发现未录制到用户名和密码 录制到的脚本如下: login() { lr_think_time(10); web_url(& ...

  2. curl提示不支持https协议解决方法

    curl提示不支持https协议解决方法 参考文章: (1)curl提示不支持https协议解决方法 (2)https://www.cnblogs.com/biaopei/p/8669810.html ...

  3. 【转】借助第三方支持https协议的存储实现自己网站上扫描二维码安装IOS APP

    使用plist安装,一般是企业级开发者账号不需要登录到APP STORE的IOS设备应用发布时所用到的技巧. 准备: *一台运行着OSX的苹果电脑,最新版的XCODE,用于导出ipa和plist 一个 ...

  4. Curl安装以及配置支持HTTPS协议

    一.安装openSSL 1. 下载 最新版本:https://www.openssl.org/source/ 我用的版本是 openssl-1.1.0g.tar.gz 2. 解压 执行命令:tar - ...

  5. 树莓派支持uvi协议吗_树莓派如何控制电视机,在Raspberry Pi上安装HDMI-CEC

    在本教程中,我将展示如何使用HDMI-CEC和树莓派来控制电视. HDMI-CEC是一种特殊的协议,用于电视与另一个设备通过HDMI电缆进行通信.该协议允许电视控制另一个设备,同时也允许该设备控制电视 ...

  6. 三菱je-a系列伺服支持modbusrtu 协议吗_入门课程 | 三菱FX系列PLC的软元件介绍

    点击箭头处"工业之家",选择"关注公众号"!  三菱FX系列PLC的软元件介绍 PLC的软元件很多,主要有输入继电器.输出继电器.定时器.计数器.数据寄存器和常 ...

  7. Jexus支持HTTPS协议

    众所周知,在HTTPS页面请求HTTP资料的时候,现代浏览器会拦截,提示用户是否继续,或者直接拦截,提示都不出来. 最近给自己做了个快速书签工具,点击书签就直接把书签发送到服务器地址,然后保存到我的网 ...

  8. ie8 ajax访问不了https,ie8不支持https协议的api接口么

    如图 ie8 并没有你这个问题 ---------补充,别说ie8了,ie5我都跑通了--------- 前端代码如下 var $dom = $("#root"); $.ajax( ...

  9. Nginx如何实现支持HTTPS协议详细说明

    2019独角兽企业重金招聘Python工程师标准>>> 首选Tomcat此处省略,Nginx安装时的准备工作如下: Nginx安装如下插件: openssl-1.0.2 pcre-8 ...

  10. 树莓派支持uvi协议吗_树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi)...

    前话 接下来介绍树莓派蓝牙模块的开发,使用的协议为bluez. ssh远程登录到树莓派 Demo:蓝牙探测信号rssi强度,并发送给服务器 客户端bob,服务器alice,探测两方的rssi,并传送给 ...

最新文章

  1. 完美避坑!记一次Elasticsearch集群迁移架构实战
  2. Windows之建立C++开发环境
  3. 7月第4周全球域名商(国际域名)新增注册量TOP15
  4. OS / Linux / epoll 各种事件解析
  5. Spring-Cloud中的网关
  6. PHP自动测试框架Top 10
  7. 同源策略为什么可以防csrf_Spring Security 如何预防CSRF跨域攻击?
  8. 怎么利用ffmpeg和AviSynth给在windows下面为flv文件加水印
  9. centos8 apache php,centos6.8安装php7 for Apache2
  10. db文件怎么修改_MongoDB最新4.2.7版本三分片集群修改IP实操演练
  11. js 获取URL参数乱码解决
  12. mybatis 业务逻辑
  13. 一张图详解互联网产品项目管理流程实例
  14. 数字化图书馆软硬件环境要求-转自《博奥智源》
  15. 怎么画人体(动漫人体教程)
  16. JavaScript 学习笔记 - 12 JavaScript 应用示例
  17. Excel表格不小心删除怎么恢复,excel表格误删怎么找回
  18. eventhandler java_事件驱动模型的简单Java实现
  19. Conda太慢 试试这个加速工具
  20. vps与云服务器区别在哪里?

热门文章

  1. 关于Google Instant 你必须知道的6件事情,互联网营销
  2. WinCE6.0下TCPMP的BenchMark汇总
  3. 两招轻松恢复误Ghost的硬盘
  4. RocketMq最佳实践
  5. MFC编程——Where is WinMain?
  6. RxJava -- 从 create 开始 (一)
  7. SQL Server 加密案例解析
  8. Selective Search for Object Recoginition(转)
  9. c# implicit explicit关键字(隐式和显式数据类型转换)
  10. ArrayList转换类型为DataTable类型