英语课堂
protocol 协议
HTTP 超文本传输协议 HyperText Transfer Protocol
DNS 域名系统 Domain Name System
IP(internet protocal)
cmde命令 ping+网址 可以得到IP地址
-
标识主机:更具体地说,标识其网络接口,并且提供主机在网络中的位置。
-
封装数据报文,以跟其他设备交流。
外网IP
只要路由器连上服务器,那么路由器就会有一个外网IP,只要路由器关机重启 外网IP就会改变。
内网IP
路由器会在家里创建内网,路由会给每个使用内网的设备分配一个不同的内网IP
路由器的功能
- 现在路由器有两个IP,一个外网IP和一个内网IP
- 内网中的设备可以互相访问,但是不能直接访问外网
- 内网设备想要访问外网,就必须经过路由器中转
- 外网中的设备可以互相访问,但是无法访问你的内网
- 外网设备想要把内容送到内网,也必须通过路由器
- 也就是说内网和外网就像两个隔绝的空间,无法互通,唯一的联通点就是路由器
- 所以路由器有时候也被叫做「网关」
特殊IP
127.0.0.1 表示自己
localhost 通过 hosts 指定为自己
0.0.0.0 不表示任何设备
端口(port)
一台机器可以提供很多服务 每个服务一个号码,这个号码就叫端口号port
常用端口:
HTTP为80
HTTPS为443
小贴士
端口和IP缺一不可 ;2者合起来解释为: 一个设备提供的服务。
域名
- 一个域名可以对应不同IP
- 这个叫做均衡负载,防止一台机器扛不住
- 一个IP可以对应不同域名
- 这个叫做共享主机,穷开发者会这么做
域名和IP对应过程(DNS)
cmde命令 nslookup+网址 直接查询域名情况
- 你的Chrome浏览器会向电信/联通提供的DNS服务器
- 问xxx.com对应什么IP
- 电信/联通会回答一个IP (具体过程很复杂,不研究)
- 然后Chrome才会想对应IP的80/443端口发送请求
- 请求内容是查看xxx.com的首页
com是顶级域名
xxx.com 是二级域名
www.xxx.com 是三级域名 和 二级域名 是父子关系。
URL(统一资源定位服务)
URL包含: 协议+域名或IP+端口号+路径+查询字符串+锚点
域名:一个域名可以对应不同IP,一个IP可以对应不同域名域名和IP通过DNS对应起来(通常为域名,有时为IP地址)
.com(用于商业公司);.net(用于网络服务);.org(用于组织协会等);.gov(用于政府部门);.edu(用于教育机构);.mil(用于军事领域);.int(用于国际组织)
端口号:一台机器可以提供很多服务 每个服务一个号码,这个号码就叫端口号port。(以数字方式表示,若为默认值可省略)
路径:请求不同的页面;在Web的早期阶段,像这样的路径表示Web服务器上的物理文件位置。(以“/”字符区别路径中的每一个目录名称)
查询参数:同一个页面,不同内容;这些参数是用 & 符号分隔的键/值对列表。每个Web服务器都有自己关于参数的规则。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
锚点:在同一网页的位置 #开头
小贴士:
- 锚点看起来有中文,实际不支持中文
- 参考书会变成%E5%8F%82%E8%80%83%E4%B9%A6
- 锚点是无法在Network面板看到的
- 锚点不会传给服务器 会被浏览器吃掉
curl 命令
用curl可以发HTTP请求
cmde命令 curl -v 链接 显示更多的内容 例如: 端口 域名 IP
cmde命令 curl -s -v --链接
理解流程
-
url会被curlI具重写,先请求DNS获得IP
-
先进行TCP连接,TCP连接成功后,开始发送HTTP请求
-
请求内容看一眼
-
响应内容看一眼
-
响应结束后,关闭TCP连接(看不出来)
-
真正结束
资料来源:饥人谷
本文为贰贰的原创文章,著作权归本人和饥人谷所有,转载务必注明来源