正则表达式验证url去掉协议域名和端口号_浅析URL

URL(统一资源定位符 Uniform Resource Locator)
包括:协议+域名或IP+端口号+路径+查询字符串+锚点

一、协议 HTTP


基于TCP和IP两个协议 curl命令
用curl可以发HTTP请求

  • curl -v http://baidu.com
  • curl -s -v https://www.baidu.com

注:

  • url会被curl工具重写,先请求DNS获得IP
  • 先进行TCP链接,TCP连接成功后,发送HTTP请求
  • 请求、响应结束后,关闭TCP连接(看不出来),真正结束。

具体内容,后续详细介绍

二、域名


1、IP(Internet Protocol)网际互联协议


IP主要约定两件事:

  • 如何定位一台设备
  • 如何封装数据报文,以跟其他设备交流

1、外网IP和内网IP

  • 租用宽带,连接路由器,就会有一个外网IP(重启路由器,可能会重新分配)
  • 路由器创建内网,内网中的设备使用内网IP,一般格式是192.168.X.X

2、路由器

  • 路由器有一个内网IP、一个外网IP
  • 内网中的设备可以互相访问,但不能直接访问外网,需经过路由器中转
  • 外网中的设备可以互相访问,但无法访问你的内网,访问也必须结果路由器
  • 内网外网互相隔绝,唯一联通的点就是路由器,也被叫做网关

特殊的IP:

  • 127.0.0.1 表示自己
  • localhost通过hosts指定为自己(可以编辑hosts自定义)
  • 0.0.0.0不表示任何设备

2、域名

  • 域名就是对IP的别称
    ping命令 ping baidu.com (对应百度的IP)
    一个域名可以对应不同的IP,均衡负载
    一个IP可以对应不同域名,共享主机
  • 域名和IP是如何对应的呢? DNS(Domain Name System)
    过程:
  1. 当你输入域名,浏览器会向网络运营商的DNS服务器询问对应的IP(nslookup命令)
    nslookup命令 nslookup baidu.com 得到百度的IP地址
  2. 浏览器向对应的IP的 80/443端口 发送请求
  3. 请求内容是查看域名首页。

服务器默认80端口提供HTTP服务,443端口提供https服务(开发者工具可以看到具体的端口)

  • 域名级别:
    顶级域名:.com
    二级域名:http://xxx.com 俗称一级域名
    三级域名:http://www.xxx.com 俗称二级域名 (是http://xxx.com的子域名)
  • 请求不同的页面,使用路径https://developer.mozilla.org/zh-CN/docs/Web/HTMLhttps://developer.mozilla.org/zh-CN/docs/Web/CSS
  • 同一个页面不同内容,使用查询参数
    www.baidu.com/s?wd=hi (&pn=10 可以确定页数)
    www.baidu.com/s?wd=hello
  • 同一个内容,不同位置 使用锚点https://developer.mozilla.org/zh-CN/docs/Web/CSS#参考书https://developer.mozilla.org/zh-CN/docs/Web/CSS#教程
    锚点看起来有中文,其实不支持中文,上述链接会变成https://developer.mozilla.org/zh-CN/docs/Web/CSS#%E5%8F%82%E8%80%83%E4%B9%A6https://developer.mozilla.org/zh-CN/docs/Web/CSS#%E6%95%99%E7%A8%8B
    锚点无法在Network面板看到,因为锚点不会传给服务器

三、端口 Port

一台机器可以提供不同服务

  • HTTP服务最好使用80端口
  • https服务使用443端口
  • ftp服务使用21端口
  • 一共65535个端口

端口使用规则:

  • 0~1023号端口是留给系统使用的端口,只有拥有管理员权限才能使用
  • 其他端口普通用户可以使用,如http-server默认使用8080端口(http-server -c -1 -p 1234 把端口改为1234)
  • 一个端口如果被占用,只能换一个端口

端口和IP缺一不可


四、URL

35a89fcf60d033aa50aa0dc79dba04a4.png

协议+域名或IP+端口号+路径+查询字符串+锚点
https端口为默认为443;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值