浅析URL
URL(Uniform Resource Locator)即统一资源定位符,它是 WWW 的统一资源定位标志,就是指网络地址。这里需要和另外一个概念 URI(Uniform Resource Identifier)即统一资源标识符区分开,URI 是一个用于标识某一互联网资源名称的字符串,URL 是 URI 的子集。
url 的组成包括以下内容:
协议(必须):常见的有 HTTP(Hyper Text Transfer Protocol)、HTTPS、FTP 等,
域名/IP(必须):域名通过 DNS 被解析成 IP
- 域名(Domain Name)
- 域名分类:.xxx 如.com、.net、.cn 等是顶级域名,xxx.xxx 是二级域名(俗称一级域名),www.xxx.xxx是**三级域名**(俗称二级域名),所以xxx.xxx与www.xxx.xxx可能不是同一个网站
- IP 即 IP 地址(Internet Protocol Address),
- mac 查询内网 IP
ifconfig en0
,查询外网 IPcurl ifconfig.me
- ping 用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断 TCP/IP 参数是否设置正确,以及运行是否正常、网络是否通畅等。用法
ping xxx
- 几个特殊的 IP
- 127.0.0.1 表示自己
- localhost 通过 hosts 指定为自己(mac 的 hosts 位于
/etc/hosts
,可通过修改该文件自定义 localhost 名称)
- mac 查询内网 IP
- DNS (Domain Name System 域名系统),实现域名到 IP 的解析服务
- 使用
nslookup 域名
可以手动进行 DNS 查询
- 使用
- 一个域名可以对应不同 IP(实现负载均衡);一个 IP 也可以对应不同域名(共享主机)
- 域名(Domain Name)
端口(必须,如省略会使用默认端口)
- 一共有 65535 个端口,0 到 1023(2 的十次方减 1)号端口是留给系统使用的,只有在有管理员权限的情况下才可以使用,其他端口普通用户能使用,比如 http-server 就默认使用 8080 端口,详见:TCP/UDP 端口列表 - 维基百科
- HTTP 最好使用 80 端口
- HTTPS 最好使用 443 端口
- FTP 最好使用 21 端口
路径(非必需)
实现请求不同的页面
查询参数(非必需)
- 从“?”开始到“#”(或至结束)为止之间的部分为参数部分,又称搜索部分、查询部分。参数间用“&”作为分隔符。
锚点(非必需)
实现打开页面时滚动到该锚点位置。
- 锚点看起来有中文,但是实际上不支持中文,
- 锚点无法在 network 面板看到,因为锚点不会传给服务器也就是说 HTTP 请求中不包含锚部分
使用 curl 命令进行 HTTP 请求
- curl -v http://baidu.com
- curl -s -v https://www.baidu.com
- curl 会重写 url,先请求 DNS 获取 IP
- 过程:进行 TCP 连接,TCP 连接成功后,开始发 HTTP 请求,相应结束后,关闭 TCP 连接
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!