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