wangjie-fourth 的个人博客

may be just need work hard

目录
浅析URL
/  

浅析URL

URLUniform Resource Locator即统一资源定位符。其标准格式如下:

[协议类型]://[服务器地址]:[端口号]/[路径]?[查询参数]#[锚点]
http://baidu.com/s?wd=hello&rsv_spt=1#5

一、IP

IPInternet Protocal即网络协议。通过它可以约定:

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

平常生活下得网络

日常生活下,我们通常有内网外网。用家庭网络举例:
image.png
1、路由器得功能

  • 路由器有俩个IP,一个外网IP和一个内网IP
  • 内网中设备可以互相访问,但是不能直接访问外网;
  • 内网设备想要访问外网,就必须经过路由器中转;
  • 外网中得设备可以互相访问,但是无法直接访问你的内网;
  • 外网设备想要把内容送到内网,也必须通过路由器;
  • 也就是说内网和外网就想俩个隔绝得空间,无法互通,唯一得联通点就是路由器。所以路由器有时候也被叫做网关

2、内网IP
路由器会创建一个内网,内网中得设备使用内网得IP

  • 一般来说内网IP地址都是192.168.xxx.xxx
  • 一般路由器会给自己分配一个好记得内网IP,比如:192.168.1.1

二、端口

一台服务器通过不同得端口提供不同得服务,一共有65535个端口。使用端口时,注意以下约定:

  • 01023号端口留给系统使用,自己得服务不要使用这里面得端口;
  • HTTP服务使用得是80端口
  • HTTPS服务使用得是443端口
  • FTP服务使用得是21端口
  • 如果一个端口如果被占用,就需要换其他端口。

三、域名

由于IP比较复杂、难记,所以后来又出来域名,用于对应IP地址。

  • 一个域名可以对应多个IP,一个IP可以对应多个域名;
  • 域名和IP是通过DNS服务器对应起来得;

1、备用得DNS服务器
image.png

2、www.baidu.combaidu.com是同一个域名吗?
不是,但是www是非常多余得写法。

  • com是顶级域名
  • baidu.com是二级域名,但经常被说成一级域名;
  • www.baidu.com是三级域名,但经常被说成二级域名

www.baidu.combaidu.com得子域名。跟github.iowangjie_fourth.github.io一样。
其实www更多历史原因,早期互联网爆发时期,很多公司只要有www域名的网站就很容易拿到投资。但其实这种写法是不必要的。

3、在游览器输入www.baidu.com发生了什么事
(1)获取域名对应得IP地址

  • 游览器会先在本地hosts文件中,查看是否有这个域名对应得IP地址;
  • 否则;否则游览器会向网络提供商得DNS服务器查询这个域名所对应得IP地址;

(2)游览器根据IP地址和端口,将HTTP请求发送到指定服务器上得某个应用程序上;

(3)游览器获取数据后

  • 获取到目标页面HTML,解析HTML
  • 下载CSS,解析CSS,渲染界面;
  • 下载JS,解析JS,执行JS;

四、路径、查询参数、锚点

我们根据IP地址和端口可以确定目标服务的某个应用。接下来,可以:

  • 根据不同的请求路径,请求到不同的页面;
  • 根据不同的查询参数,请求到同一个页面的不同内容;
  • 根据不同的锚点,请求到同一个内容的不同位置;

1、注意锚点
锚点跟之前学习HTML元素一样,这里只是游览器用于定位位置。所以,锚点内容是不会传给服务器的,这一点在写请求的时候,一定要注意尽量不要使用**#**字符。
锚点格式如下:

https://developer.mozilla.org/zh-CN/docs/Web/CSS#%E6%95%99%E7%A8%8B#教程
评论