HTTP定义
HTTP是一种 超文本传输协议(Hypertext Transfer Protocol)
超文本传输协议可以进行文字分割:超文本(Hypertext)、传输(Transfer)、协议(Protocol),它们之间的关系如下:
超文本
在互联网早期的时候,我们输入的信息只能保存在本地,无法和其他电脑进行交互。我们保存的信息通常都以文本即简单字符的形式存在,文本是一种能够被计算机解析的有意义的二进制数据包。而随着互联网的高速发展,两台电脑之间能够进行数据的传输后,人们不满足只能在两台电脑之间传输文字,还想要传输图片、音频、视频,甚至点击文字或图片能够进行超链接的跳转,那么文本的语义就被扩大了,这种语义扩大后的文本就被称为超文本(Hypertext)。
传输
那么我们上面说到,两台计算机之间会形成互联关系进行通信,我们存储的超文本会被解析成为二进制数据包,由传输载体(例如同轴电缆,电话线,光缆)负责把二进制数据包由计算机终端传输到另一个终端的过程(对终端的详细解释可以参考 你说你懂互联网,那这些你知道么?这篇文章)称为传输(transfer)。
通常我们把传输数据包的一方称为请求方,把接到二进制数据包的一方称为应答方。请求方和应答方可以进行互换,请求方也可以作为应答方接受数据,应答方也可以作为请求方请求数据,它们之间的关系如下:
A 和 B 是两个不同的端系统,它们之间可以作为信息交换的载体存在,刚开始的时候是 A 作为请求方请求与 B 交换信息,B 作为响应的一方提供信息;随着时间的推移,B 也可以作为请求方请求 A 交换信息,那么 A 也可以作为响应方响应 B 请求的信息。
Protocol协议
网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。总结: HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范
TCP/IP
TCP协议的全称是Transmission Control Protocol的缩写,意思是传输控制协议,HTTP使用TCP作为通信协议,这是因为TCP是一种可靠的协议,而可靠能保证数据不丢失。
IP协议的全称是Internet Protocol的缩写,它主要解决的是通信双方寻址的问题。IP协议使用 IP地址 来标识互联网上的每一台计算机,可以把 IP 地址想象成为你手机的电话号码,你要与他人通话必须先要知道他人的手机号码,计算机网络中信息交换必须先要知道对方的IP地址。
注意事项
127.0.0.1表示自己locolhost通过host指定为自己- 在路径
C:\Windows\System32\drivers\etc中找到hosts文件,进行编辑可以改变默认本地地址 0.0.0.0不表示任何设备ipconfig命令查询IP信息
Port端口
端口包括物理端口和逻辑端口。物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。
端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过IP地址+端口号来区 分不同的服务的。
Well-Known Ports常用端口
这类端口也常称之为"常用端口"。这类端口的端口号从0到1023,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。
HTTP服务器使用端口80HTTPS服务器使用端口443FTP服务器使用端口21Telnet服务专用端口23
Registered Ports注册端口
端口号从1025到49151。分配给用户进程或应用程序。这些进程主要是用户选择安装的一些应用程序,而不是分配好的公认端口的常用程序。
使用规则
- 端口
0-1023号的端口为系统使用 - 拥有管理员权限后,才能使用
1024端口 - 服务器有默认端口
- 一个端口被占用,则不能再被使用
DNS域名系统
你有没有想过为什么你可以通过键入 www.google.com 就能够获取你想要的网站?我们上面说到,计算机网络中的每个端系统都有一个 IP地址存在,而把 IP地址转换为便于人类记忆的协议就是 DNS协议。
DNS的全称是域名系统(Domain Name System,缩写:DNS),它作为将域名和IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
URI/URL
我们上面提到,你可以通过输入www.google.com 地址来访问谷歌的官网,那么这个地址有什么规定吗?我怎么输都可以?AAA.BBB.CCC 是不是也行?当然不是的,你输入的地址格式必须要满足 URI 的规范。
URI的全称是(Uniform Resource Identifier),中文名称是统一资源标识符,使用它就能够唯一地标记互联网上资源。
URL的全称是(Uniform Resource Locator),中文名称是统一资源定位符,也就是我们俗称的网址,它实际上是 URI 的一个子集。
URI 不仅包括 URL,还包括 URN(统一资源名称),它们之间的关系如下
URL结构
协议 + 域名 + 端口 + 路径 + 查询字符串 + 锚点
注意事项
- 负载均衡,一个域名对应不同的
IP,防止一台机器扛不住访问量 - 共享主机,一个
IP对应不同的域名 www.google.com和google.com不是同一个域名com是顶级域名,google.com是二级域名,www为三级域名,是父子关系- 二级域名和三级域名可能不是同一个公司
nslookup goolge.com可以查询对应的IP地址
锚点
https://developer.mozilla.org/zh-CN/docs/Web/CSS#教程其中#教程为锚点
- 锚点不支持中文
- 复制锚点会变成
%E6%95%99%E7%A8%8B - 锚点无法在
Network面板看到 - 锚点是本地浏览,不会上传到服务器