此文章为本人的学习笔记与体会,可能会有些许不足,欢迎各位批评指正。
一、体验一下URL
下面我们来做一个平时查资料的一系列动作。
https://developer.mozilla.org/zh-CN/
输入上方URL地址,进入网页
在搜索框搜索搜索css之后,观察URL地址如下(注意加粗部分)
https://developer.mozilla.org/zh-CN/search?q=css
搜索css后内容如下,点击css,观察URL变化
![7051fd4af6332e88bb617dcf26072f0d.png](https://i-blog.csdnimg.cn/blog_migrate/34b3163a60c9d9c43322678cbe8ac5c7.png)
https://developer.mozilla.org/zh-CN/docs/Glossary/CSS
二、URL
URL(Uniform Resource Locator)是由协议、域名或者IP(有时也包括端口)、路径、查询参数、锚点组成,其中一些是可省的,一些是必须的。下方是一个完整的URL示例
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
协议
- https://是协议,protocol。表明了浏览器必须使用何种协议。还有http等协议,web需要他们二者之一,但浏览器也知道如何处理其他浏览器。
端口
- http://www.example.com:80,冒号 后面的这个数字就是端口
- 用来定位一个设备提供的服务
- 一台机器可以提供不同服务
- 提供HTTP服务最好使用80端口
- 提供HTTPS服务最好使用443端口
- 提供FTP服务最好使用21端口
- 不同的服务对应不同的窗口。就像买火车票,有售票窗口、退票窗口,你在售票口不是可以退票的,所以一般来说你想要什么服务就去什么样的窗口。
- 那么问题来了,我怎么知道我要的服务是什么窗口呢?去查端口列表。
- 一共有65535个端口
- 0到1023号端口是留给系统使用的,想要使用需要获得管理员权限
- 一般来说端口可以省略的,比如http-server默认使用8080端口
- 一个端口如果被占用,就只能换一个端口
域名或者IP
- https://http://developer.mozilla.org/zh-CN/,其中http://developer.mozilla.org就是域名,表明正在请求哪个服务器,也可以使用IP(Internet Protocal)
- 域名
- 域名可分为不同级别,包括顶级域名、二级域名、三级域名、注册域名。
- 在域名系统的层次结构中,各种域名都隶属于域名系统根域的下级。域名的第一级是顶级域,它包括通用顶级域,例如.com(公司)、.net和.org(非营利性组织);以及国家和地区顶级域,例如.us、.cn和.tk。顶级域名下一层是二级域名,一级一级地往下
- 域名与IP的关系
- 域名就是对IP的别称
- 一个IP可以对应不同的域名,例如公司太穷,与别人共用一个服务器。
- 一个域名可以对应多个IP,例如,百度这样的大公司,可能就有多个服务器,每个地域有一个,那么像华北地区的人去访问百度的时候,服务器就是华北的那台服务器。多个服务器用来分流,达到负载均衡,就像路上车子很多就会堵车,那么这个时候如果有多个分叉路口,就可以分流啦,就不会堵车了。
- 那么域名是怎样与IP对应起来的呢?通过DNS。
路径
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
- 上方粗斜体的就是路径,表示服务器上物理文件的位置
- 通俗来说,就是页面,改变路径就是不同的页面
查询参数
- https://developer.mozilla.org/zh-CN/search?q=css
- 上方粗斜体的就是查询参数,我理解为是你查询的内容是css
- 能够实现同一个页面,不同内容,例如将上方css变成html
锚点
- #加内容,是锚点,类似于书签,定位内容里的某一位置
- #后面的部分从来没有发送到请求的服务器
三、DNS
- D就是域名,N就是名字name,s是系统
- 当输入网址的时候,浏览器会向电信/联通提供的DNS服务器询问该网址对应的IP
- 得到IP之后,浏览器就会去对应IP的80/443端口(这是默认的)发出请求
- 请求内容是查看该网站首页
- 如何获得DNS服务器名称
nslookup github.com
四、如何知道域名对应的IP?
ping qq.com