浅析 URL
URL组成(Uniform Resource Locator,统一资源定位符)
协议+域名或IP+端口号+路径+查询字符串+锚点(例如:https://developer.mozilla.org/zh-CN/docs/Web/HTML#参考)
- 协议(https):指定使用的传输协议,通过安全的 HTTPS 访问该资源,最常用的是http协议
- 域名或IP(developer.mozilla.org):指存放资源的服务器的域名系统(DNS) 主机名或 IP 地址
- 端口号:各种传输协议都有默认的端口号,如http的默认端口为80,https的默认端口为443。如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。
- 路径(zh-CN/docs/Web/HTML):由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。
- 查询字符串或参数:可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP。NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。
- 锚点:可以在当前HTML页面定位到指定位置.
DNS(Domain Name System)
-
作用:把域名转换成为网络可以识别的ip地址,然后进行实际网络通讯。DNS服务器是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器和域名服务器组成的。
-
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。
-
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。
-
主机名到IP地址的映射有两种方式:
- 静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用
- 动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。
-
通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。
-
nslookup的使用
-
作用:nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题
-
查询
直接查询
nslookup domain(域名) [dns-server] //如果没有指定dns服务器,就采用系统默认的dns服务器。
查询其他记录
nslookup -qt = type domain [dns-server] type: A -->地址记录 AAAA -->地址记录 AFSDB Andrew -->文件系统数据库服务器记录 ATMA -->ATM地址记录 CNAME -->别名记录 HINHO -->硬件配置记录,包括CPU、操作系统信息 ISDN -->域名对应的ISDN号码 MB -->存放指定邮箱的服务器 MG -->邮件组记录 MINFO -->邮件组和邮箱的信息记录 MR -->改名的邮箱记录 MX -->邮件服务器记录 NS --> 名字服务器记录 PTR ->反向记录 RP -->负责人记录 RT -->路由穿透记录 SRV -->TCP服务器信息记录 TXT -->域名对应的文本信息 X25 -->域名对应的X.25地址记录
查询更具体的信息
nslookup -d [其他参数] domain [dns-server] //只要在查询的时候,加上-d参数,即可查询域名的缓存
-
IP(Internet Protocal)
-
IP是Internet Protocol(网际互连协议)的缩写
-
主要约定了两件事:
- 如何定位一台设备
- 如何封装数据报文,以跟其他设备交流具体内容我们不关心
-
ping命令
ping baidu.com //查看Ibaidu.com的IP地址
-
ipconfig命令
ipconfig //用于显示当前的TCP/IP配置的设置值
域名
-
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)
-
按照域名的结构级别分为顶级域名(一级域名)和二级域名,域名各部分之间是以“.”分割的,简单来说,由点把域名分割成几部分,就有几级域名,分割成一部分称为顶级域名,两部分为二级域名,依此类推,就有三、四、五级域名…
可用curl命令可以发HTTP请求
curl -V http://baidu.com
hosts 文件在哪?
答: 在 Windows 系统中,hosts 位于 C:\Windows\System32\drivers\etc\hosts 。在 macOS / Linux系统中,hosts 位于 /etc/host