浅析URL

347 阅读3分钟

一、IP(Internet Protocal)

1.定义

IP,全称互联网协议地址,是指IP地址,意思是分配给用户上网使用的网际协议(Internet Protocol,IP)的设备的数字标签。

2.作用

  • 如何定位一台设备

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

3.分类

  • 外网IP
  • 内网IP

4.路由器

  • 内网的设备想要访问外网,必须经过路由器中转
  • 外网设备想要把内容传送到内网,也要经过路由器

5.特殊的IP

  • 127.0.0.1:表示自己
  • localhost:通过hosts指定为自己
  • 0.0.0.0:不表示任何设备

二、端口

1.定义

一台机器可以提供多种服务,每个服务对应一个号码,这个号码就叫端口号port

  • 要提供HTTP服务,最好使用80端口
  • 要提供HTTPS服务,最好使用443端口
  • 要提供FTP服务,最好使用21端口
  • 一共有65535个端口,基本够用

2.规则

  • 0到1023号端口是留给系统使用
  • 只有拥有管理员权限之后,才能使用1024端口
  • 其他端口可以给普通用户使用
  • 如果一个端口被占用,只能换另一个端口

3.端口与IP的联系

IP是用来定位设备的,端口是用来定位设备的服务

三、域名

1.定义

域名就是IP对应的字符串

  • 一个域名可以对应不同的IP(均衡负载,防止一台机器扛不住)
  • 一个IP可以对应不同的域名(共享主机)

2.DNS

域名和IP通过DNS对应起来

3.举例,当输入google.com时

过程

  1. Chrome浏览器会向电信/联通提供的DNS服务器询问google.com对应什么IP

  2. 电信/联通会回答一个IP(具体过程很复杂,暂不研究)

  3. 然后Chrome会向对应的IP的80/443端口发送请求(服务器默认用80提供http服务,默认用443提供https服务)

  4. 请求内容为查看google.com的首页

4.google.com/www.google.com

5.如何请求不同的页面

  • 在同一个服务器上访问不同的路径
  • 使用Chrome开发者工具Network面板可以查看区别

6.同一个页面,访问不同的内容

7.同一个内容,访问不同的位置

  • 通过锚点可以做到

developer.mozilla.org/zh-CN/docs/…

developer.mozilla.org/zh-CN/docs/…

注意:

  1. 锚点看起来是中文,但不支持中文

  2. #参考书会变成#%E5%8F%82%E8%80%83%E4%B9%A6

  3. 锚点在Network面板看不到,因为锚点不会传给服务器

四、URL

URL是协议、域名、路径、查询参数、锚点的综合

1.png

五、curl命令

  • 用curl可以发送http请求

    curl -v baidu.com

    curl -s -v --www.baidu.com

  • 过程

     1. url会被curl工具重写,先请求DNS获得IP
     2. 先进行TCP连接,TCP连接成功之后,开始发送HTTP请求
     3. 请求内容看一眼
     4. 响应内容看一眼
     5. 响应结束后,关闭TCP连接
     6. 完全结束