1. IP
IP 指网际协议(Internet Protocol),一种应用于互联网的计算机网络协议。
主要约定了两件事:
- 如何定位一台设备。
- 如何封装数据报文,以跟其他设备交流。
IP地址分为内网和外网,由路由器联通,因此路由器也被叫做网关。
几个特殊的 IP:
- 127.0.0.1 表示自己。
- localhost 通过 hosts 指定为自己。
- 0.0.0.0 不表示任何设备。
2. 端口(port)
一台机器可以提供很多服务,每个服务对应一个端口号。
其中,0 到 1023 号端口是留给系统使用的。
http-server 默认使用 8080 端口。
服务器默认使用 80 提供 http 服务。
服务器默认使用 443 提供 https 服务。
上网冲浪时,IP 和端口缺一不可,IP 指定服务器,而端口指定服务。如果去理发店让洗头小妹帮你剪头发肯定是会出问题的。
3. 域名
域名就是对 IP 的别称。
nslookup baidu.com
通过上面的代码即可询问 baidu.com 对应什么 IP。
ping baidu.com
注意区别 ping 和 nslookup。ping 出来的是本地区的服务器的地址,而 nslookup 是所有的地址。ping主要是测试服务器跟本机的连通性,而 nslookup 是查询域名的 ip 地址的。
一个域名可以对应不同 IP(均衡负载),一个 IP 也可以对应不同域名(共享主机)。
注意:
- www.baidu.com 和 baidu.com 不是同一个域名。
- com 是顶级域名。
- baidu.com 是二级域名,俗称一级域名。
- www.baidu.com 是三级域名,俗称二级域名。
4. DNS
域名系统(Domain Name System),它是一个将域名和 IP 地址相互映射的分布式数据库。
当你在浏览器中输入 baidu.com,你的浏览器会向运营商提供的 DNS 服务器询问 baidu.com 对应什么 IP,然后收到一个 IP,再向对应 IP 的 80/443 端口发送请求查看 baidu.com 的首页。
5. URL
统一资源定位符(Uniform Resource Locator)俗称网页地址,简称网址,如同在网络上的门牌。
标准格式如下:
协议类型://服务器地址:端口号/资源层级UNIX文件路径文件名?查询#片段ID。
即协议+域名或 IP+端口号+路径+查询字符串+锚点。
6. HTTP
超文本传输协议(HyperText Transfer Protocol),HTTP 是一个客户端(用户)和服务端(网站)之间请求和应答的标准,通常使用 TCP 协议。它规定请求和响应的格式。
用curl可以发 HTTP 请求,如下例。
curl -v http://baidu.com
curl -s -v -- https://www.baidu.com
- URL 首先会被 curl 工具重写,先请求 DNS 获得 IP。
- 然后进行 TCP 连接,连接成功后,开始发送 HTTP。
- 请求内容。
- 响应内容。
- 响应结束后,关闭 TCP 连接。
- 真正结束。