浅析URL

184 阅读6分钟

HTTP入门笔记

WWW是什么

 WWW = URL + HTTP + HTML

ip是什么

 IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送
 注意:只要你在互联网内,你就有至少一个独特的ip

1641020151780.png

外网ip是什么

 概述:公网的IP、外网IP是一个意思,都是指你在互联网上的IP地址,但是这个地址可能不是你电脑的地址,而是你所在的局域网地址,就象你的宿舍在你大学里,但是从外面看你的宿舍地址就是你大学的地址,只有进了你学校才能进一步找到你宿舍地址一样。这里,学校地址就类似外网IP,宿舍地址就是内网IP。你到www.ip138.com上就可以看到你自己的外网IP

内网ip是什么

 概述:内网IP是指,也就是局域网网络地址,内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问Internet。内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。
 举例: 路由器会在家里创建一个内网,内网中的设备使用内网ip,一般来说这个ip的格式都是192.168.xxx.xxx,路由器会给一个内网中的设备分配不同的ip,如电脑是196.169.1.2,手机是196.169.1.3以此类推。

路由器的功能

 现在路由器有两个ip一个外网ip和一个内网ip
 内网中的设备科可以互相访问,但是不能直接访问外网
 内网中的设备想要访问外网,就必须通过路由器中转
 外网中的设备可以互相访问,但是无法访问你的内网
 外网设备想要把内容送到内网,也必须通过路由器
 也就是说内网和外网就像两个隔绝的空间,无法互通,位移的联通点就是路由器
 所以路由器有时候也被叫成(网关)

几个特殊的ip

 分别是
 127.0.0.1 表示自己
 localhost 通过hosts制定自己
 0.0.0.0 不表示任何设备
 hosts文件的在哪里?
 在 Windows 系统中,hosts 位于  C:\Windows\System32\drivers\etc\hosts 。在 macOS / Linux系统中,hosts 位于 /etc/host

什么是端口

 "端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
 一台设备可以有很多服务,每一个服务的号码,就叫端口号。

端口 port

 一台设备可以提供很多的服务:
 要提供HTTP服务做好使用8.端口
 要提供HTTPS服务最好使用443端口
 要提供FTP服务做好使用21端口
 一共有65535个端口
 维基百科查看端口的使用

端口使用规则

 0到1023号端口是留给系统用的
 你只有拥有了管理员权限,才能使用者1024个端口
 其他端口可以给普通用户使用
 一个端口如果被占用,你就一定只能换一个端口

域名是什么

 概述:域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
 由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

域名就是对IP的别称

 我们可以通过ping命令来来查看域名所对应的IP
 例如:ping baidu.com | ping qq.com
 知识点:
 一个域名可以对应不同的IP
 这叫做均衡负载,防止一台机器扛不住
 一个ip可以对应不同的域名
 这叫做共享主机,穷开发者会这样做

域名和IP是怎样对应起来的

 通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

当输入 xiedaimala.com

 过程:你的Chrome浏览器会向电信/联通的DNS服务器询问xiedaimala.com对应的ip是什么
 电信/联通会回答一个ip
 然后Chrome才会向对应ip的80/443端口发起请求
 请求内容是xiedaima.com的首页
 为什么是80/443端口?
 服务器默认80端口提供HTP服务
 服务器默认443端口提供HTTPS服务
 你可以给在开发者工具里面看到具体端口

域名的区别

 WWW
 www.xiedaimala.com和xiedaimala.com不是同一个域名
 他们的是什么关系
 com是顶级域名
 xiedaimala.com是二级域名(俗称一级域名)
 www.xiedaimala.com是三级域名(俗称二级域名)
 他们是父子关系
 例子:github.io把子域名xxx.github.io免费免费给你使用
 所以应该知道www.xiedaimala.com和xiedaimala.com可以不是一家公司也可以是。

如何请求古铜的页面

 路径可以做到
 https://developer.mozilla.org/zh-CN/docs/Web/html
 https://developer.mozilla.org/zh-CN/docs/Web/css
 使用Chrome开发者工具Network面板可以查看区别

同一个页面,不同的内容

 查询参数可以做到
 www.baidu.com/s?wd=hi
 www.baidu.com/s?wd=hell

同一个内容不同的位置

 锚点可以做到
 https://developer.mozilla.org/zh-CN/docs/Web/css#参考书
 https://developer.mozilla.org/zh-CN/docs/Web/css#教程
 注意:锚点看起来有中文,实际不支持中文。
 #参考书会变成(字符编码)
 锚点是无法在Network面板看到的
 吟哦日锚点不传给服务器

url是什么

 url = 协议 + 域名或ip + 端口号 + 路径 + 查询字符串 + 锚点

1641026805447.png

HTTP(协议)

 基于TCP和ip两个协议

Curl命令

 用curl可以发HTTP请求
 curl -v http://baidu.com
 curl -s -v --http://baidu.com
 理解以下概念
 url会被curl工具重写,先请求DNS获得ip
 先进行TCP链接,TCP链接成功。开始发送HTTP请求
 请求内容看一眼
 相应内容看一眼
 响应结束后,关闭TCP
 真正结束
 HTTP:规定请求的格式是什么,响应的格式是什么