URL

107 阅读3分钟

一、IP:Inter Protocal,其主要约定了两件事

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

二、几个特事故的IP

  • 分别是

127.0.0.1表示自己;

localhost通过hosts指定为自己;

0.0.0.0不表示任何设备;

三、端口

1.端口就类似人们取餐的窗口;

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

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

3.想要知道用什么端口,就去查维基百科,都一一列出来了。

4.端口使用规则

规则

  • 0到1023(2的10次方减1)号端口是留给系统使用的;
  • 只有拥有了管理员权限后,才能使用这1024个端口;
  • 比如http-server默认使用8080端口;
  • 一个端口如果被占用,你就只能换一个端口。

注意:IP和端口缺一不可

四、域名:域名就是对IP的别称

  • baidu.com对应什么IP ping baidu.com
  • qq.com对应什么IP ping qq.com
  • 要点
  • 一个域名可以对应不同IP
  • 这个叫做均衡负载,防止及其扛不住
  • 一个IP可以对应不同域名
  • 这个叫做共享主机,穷开发者会这么做

域名和IP是怎么对应起来的

当你输入·····.com

  • 过程
  • 你的chrome浏览器会向电信/联通提供的DNS服务器询问·····.com对应什么IP
  • 电信/联通会回答一个IP
  • 然后Chrome才会想对应IP的80/443端口发送请求
  • 请求内容是查看·····.com的首页
  • 为什么是80或443端口
  • 服务器默认用80提供http服务
  • 服务器默认用443提供https服务
  • 可以在开发者工具里看到具体的端口

五、如何请求不同的页面

  • 路径可以做到
  • 工具
  • 使用Chrome开发者工具Network面板看看区别

同一个页面,不同内容

  • 查询参数可以做到

同一内容,不同位置

  • 锚点可以做到
  • 注意
  • 锚点看起来有中文,实际不支持中文
  • #参考书会变成 #%E5%82%80%83%E4%B9%A6
  • 锚点是无法在Network面板看到的
  • 因为锚点不会传给服务器

六、URL=协议+域名或IP+端口号+路径+查询字符串+锚点

举例:

url.png

  • HTTP(协议)基于TCP和IP两个协议

七、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.真正结束

  • HTTP 规定请求格式是什么,响应的格式是什么