浅谈URL

URL:统一资源定位符
组成部分:
分别对应于:https默认用443端口,所以www.baidu.com === www.baidu.com:443
 
域名:域名就是对IP的别称
ip:ip地址是用来定位互联网上的每台设备,每个设备都有自己独立的IP地址。分为内网IP和外网IP
可以用Ping命令查看域名的IP地址:
可以看到域名baidu.com对应的IP地址是: 39.156.69.79
可以用nslookup查看域名的ip地址
 
几个特殊的IP:
192.168.XXX.XXX 表示内网地址
127.0.0.1 表示本机
       默认127.0.0.1的域名是localhost  /  可以在hosts文件里更改本地127.0.0.1 的域名
       0.0.0.0 不表示任何设备
 

端口
一家快餐店里有各种不同的窗口提供不同的服务,端口就是对应各个不容的窗口
 
端口是用来定位服务的,一台机器一共有65535个端口
80端口:HTTP服务
443端口:HTTPS服务
21端口:FTP服务
 
如何使用这些端口?
 
1、维基百科给的建议:
 
2、使用规则:
      0-1023端口是系统用的,一般我们使用1024以后的端口
           http-server默认使用8080端口
           可以通过-p参数指定不同端口,
                如:hs(http-server缩写) . -c -1 -p 666
                就把http-server端口修改为666
 

域名
域名是IP的别称
  • 一个域名可以对应多个IP, 这叫负载均衡,防止一台机器无法同时为大量用户提供服务
  • 不同地区ping baidu.com会看到不同的ip地址
  • 一个IP也可以对应多个域名,这叫主机共享

域名和IP怎么对应起来?DNS!

当你输入www.baidu.com
  • chrome浏览器会向电信/联通提供的DNS服务器询问www.baidu.com对应什么IP
  • 然后电信/联通会回复一个IP
  • 然后chrome浏览器会向对应IP地址的80/ 443端口发送请求
    • 服务器默认用80端口提供HTTP服务
    • 服务器默认用443端口提供HTTPS服务
  • 请求内容是查看www.baidu.com的首页

关于域名的其他知识

www.baidu.combaidu.com是不同的域名
  1. .com是顶级域名
  2. baidu.com是二级域名(俗称一级域名)
  3. www.baidu.com 是三级域名(俗称二级域名)
  4. 所以www.baidu.combaidu.com的子域名
  5. 例如,github.io是github的域名, userid.github.io是每个用户的域名

路径

如何请求同一服务器上不同网页?
用路径即可
路径是没有必要有后缀的
 

 

查询参数

请求同一个页面,能得到不同内容吗?
用查询参数即可
 

 

锚点

同一内容,不同位置?
用锚点即可
锚点不支持中文,会把中文进行编码
注意!
锚点不会经过服务器,因为是本地内容
所以服务器不会阅读井号 # 之后的内容,不可以拿这个传参数!
 

Curl命令的使用
curl : 这个命令来查看http的请求过程
curl -v http://baidu.com    -v是比较啰嗦的显示,baidu.com是废弃的域名
curl -s -v https://www.baidu.com    会显示以下内容,www.biadu.com
整个过程:
  • 向DNS查询域名对应的IP地址
  • 建立TCP连接,TCP连接建立好之后,开始发送HTTP请求
  • 下图中以大于号开始的
    • > GET / HTTP/1.1到 > Accept: */*是请求头
  • 之后服务器会发送回来一个响应
    • 分为响应头和响应体
    • 以下内容是响应头
    • 响应体就是HTML页面
  • 响应结束后,关闭TCP连接
  • HTTP请求结束
 
 
 
 
 
 
 
 
 
 
posted @ 2021-01-17 13:57  蛰鸣  阅读(25)  评论(0编辑  收藏  举报