【HTTP非全解】浅析 URL

2020-01-16  本文已影响0人  饥人谷_JoelXu

内容提要:

  1. URL 包含哪几部分,每部分分别有什么作用
  2. DNS 的作用是什么,nslookup 命令怎么用
  3. IP 的作用是什么,ping 命令怎么用
  4. 域名是什么,分别哪几类域名

URL的组成部分

传输协议 + 域名或IP + 端口号 +路径 + 查询字符串 + 锚点

eg.

https://www.baidu.com/swd=hello&rsv_spt=1#5

[//authority] = [userinfo@]host[:port]

另一个常见的 URL(URI) 的例子:

https://zh.wikipedia.org/w/index.php?title=Special:随机页面#5

其中若不写端口号,则表示使用
https 对应的默认端口号 443

localhost:8080

DNS(Domain Name System):域名系统

作用:根据域名查出IP地址

即:将域名解析为IP 地址

nslookup可查询IP(DNS)地址

直接使用可以查询到域名的 A 记录

nslookup 命令用于查询 DNS 的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题

# nslookup + 域名
nslookup domain [dns-server]
nslookup xmasuhai.xyz

IP的作用,ping 命令用法

ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性。

即:

# ping [参数][主机名或ip地址]
ping baidu.com

域名(Domain Name)

是互联网的一项服务,主要用于域名与 IP 地址的相互转换

如果要访问一个地址(使用域名),都要先通过DNS查询域名对应的IP地址,才能进行访问

域名分类

域名分顶级域名,二级域名和三级域名

比如对于 www.baidu.com

  1. 顶级域名:com
  2. 二级域名:baidu.com
  3. 三级域名:www.baidu.com

域名的第一级是顶级域,它包括通用顶级域,例如.com、.net 和.org;

以及国家和地区顶级域,例如.us、.cn 和.tk。

完整域名的所有字符加起来不得超过 253 个 ASCII 字符的总长度。

当每一级都使用单个字符时,限制为 127 个级别:127 个字符加上 126 个点的总长度为 253。

但实际上,某些域名可能具有其他限制;也没有只有一个字符的域名后缀。


内容提要卐,后面是视频记录流水账


问:hosts 文件在哪?

答: 在 Windows 系统中,hosts 位于 C:\Windows\System32\drivers\etc\hosts

在 macOS / Linux系统中,hosts 位于 /etc/hosts

网络和 IP

李爵士的发明

WWW=URL+HTTP+HTML

HyperText Transfer Protocol协议

IP: Internet Protocol

IP(Internet Protocol)主要约定

1.如何定位一台设备
2.如何封装数据报文(用来和其他设备交流)

互联网(not WWW),至少一个独特的IP

IP分内网和外网

设备 路由器 电信DNS服务器 其他用户

获取外网IP 买 | 蹭

内网IP

  • 路由器创建内网,内网中的设备使用内网IP,格式192.168.xxx.xxx192.168.1.1
  • 路由再给每一个内网中的设备(PC、手机)分配一个不同的内网IP
  • 内网的所有设备都有一个相同的外网IP
  • 路由器会为每一个内网中的设备分配一个不同的内网IP

内网IP固定

查看IP

ping xxx.com
ipconfig

查看ip38.com

路由器的功能

  1. 路由器有两个IP,内外各一
  2. 内网中的设备可互相访问,但不可直接访问外网
  3. 内网设备通过路由器中转,访问外网
  4. 外网设备无法访问你的内网,不管直接间接
  5. 外网把内容推送到内网,必须通过路由
  6. 内外隔绝,路由是唯一联通点,即网关

几个特殊的IP

  1. 127.0.0.1表示自己
  2. localhost通过hosts指定为自己
  3. 0.0.0.0不表示任何设备,后端用

端口

一台机子可提供很多服务,每个服务一个号码,即端口号port

不同的服务

  1. 提供HTTP服务,最好使用80端口
  2. 提供HTTPS服务,最好443端口
  3. 一共有65535个端口,FTP是21端口
  4. 该用什么端口:端口对应的服务列表wiki

其他使用规则

  1. 0到1023(2的10次方减1,计1024个)号端口,留给系统使用,自己使用须取得管理权限
  2. http-server默认使用8080端口
  3. 一个端口被占用时,只能换另一个

总之,IP和端口缺一不可

域名、路径、查询参数、锚点

qq.comt.tt

域名:对IP的别称

ping baidu.com

#将得到四个回复(win),mac 需ctrl+c中断

baidu.com对应ping baidu.comqq.com对应ping qq.com

知识点

域名和IP,怎么对应起来?

  • 通过DNS

当你输入xiedaimala.com

Chrome开发者工具中,Network面板,xiedaimala.com点击,Headers里,请求根目录https://xiedaimala.com/

得到响应Response 一串HTML代码,请求CSS,请求图片,请求js等

过程

客户端向DNS服务器(DNS服务器有自己的IP地址)发送域名查询请求

DNS服务器告知客户机Web服务器的IP地址

eg.xiedaimala.com的首页index.html

why 80443端口

nslookup

nslookup -qt=[type] domain [dns-server]

type可以是:

询问域名,域名ns,寻找lookup

nslookup baidu.com

默认自动设置
电信DNS
114.114.114.114
备用
114.114.115.115

题外话

www

如何请求不同的页面

用路径
工具

使用Chrome开发者工具Network面板查看区别

同一个页面,不同内容

用查询参数:https://xxx.com/s?wd=hello

同一个内容(页面),不同位置

用锚点

锚点就是文档内部的定位

注意:

URL

统一资源定位符(Uniform Resource Locator),简称URL,是因特网上标准的资源的地址(Address)

Every HTTP URL conforms to the syntax of a generic URI.

每个有效的 URI 都指向一个独特的资源。这个资源可以是一个 HTML 页面,一个 CSS 文档,一幅图像、视频、邮件、PDF等

The URI generic syntax consists of a hierarchical sequence of five components

wiki:URL

组成

传输协议 + 域名或IP + 端口号 +路径 + 查询字符串 + 锚点

eg.

https://www.baidu.com/swd=hello&rsv_spt=1#5

**www.baidu.com**是域名。 表明正在请求哪个 Web 服务器。或者,可以直接使用 IP address, 但因为不便,所以不常使用。

就算没写,也应知道端口,HTTPS默认端口443,通常省略

/path/to/index.html 是网络服务器上资源的路径,路径表示访问哪个网页

ftp://是文件传输协议,不属于www,本地或局域网

wd=hello&rsv_spt=1?key1=value1&key2=value2 是提供给网络服务器的额外参数。 这些参数是用 & 符号分隔的键/值对列表。

wd=hello&rsv_spt=1查询字符串表示页面的展示内容,第几部分,第几章,第几页,或者查询关键词

在返回资源之前,Web服务器可以使用这些参数来执行额外的操作。

#Anchor#SomewhereInTheDocument是资源本身的另一部分的锚点。

锚点表示资源中的一种“书签”,给浏览器显示位于该“加书签”位置的内容的方向。
例如,
在 HTML 文档上,浏览器将滚动到定义锚点的位置

在视频或音频文档上,浏览器将尝试转到锚代表的时间

#后面的部分(也称为片段标识符)[fragment]从来没有发送到请求的服务器

锚点会被浏览器‘吃掉’,锚点只和浏览器有关,没必要发送给服务器

服务器无法接收#之后的内容,参数,不想被扣年终bonus的记住

HTTP协议

基于TCPIP两个协议:也称TCP/IP

curl 命令

curl可以发HTTP请求

-v:verbose 啰嗦模式

理解以下概念

规定请求的格式是什么,响应式格式是什么


·未完待续·


参考文章

相关文章



上一篇 下一篇

猜你喜欢

热点阅读