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

外网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 + 端口号 + 路径 + 查询字符串 + 锚点

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