1. URI和URL
URI:统一资源标识符
URL:统一资源定位符
URL是URI的子集
一般来说,可以认为URI就是URL
2. HTML:超文本标记语言
3. HTTP:超文本传输协议
更准确的称为:HTTP over TCP/IP
HTTP协议专门用来在两点之间传输数据
HTTP传输的是文字、图片、音频、视频等超文本数据
HTTP协议通常跑在TCP/IP协议栈之上
依靠IP协议实现寻址和路由
依靠TCP协议实现可靠数据传输
依靠DNS协议实现域名查找
依靠SSL/TLS协议实现安全通信
WebSocket等协议依赖于HTTP
4. 与HTTP协议相关的东西
Web浏览器:请求方;是User Agent的角色,即用户代理,作为用户的代理发起HTTP请求
Linux上的wget、curl等命令行工具,基于HTTP,也是一种User Agent
Web服务器:响应方;正宗的就是Apache、微软的IIS; 现在Nginx也很猛
CDN:内容分发网络,位于浏览器和服务器之间,应用了缓存和代理技术,代替源站响应客户端的请求
如果CDN的调度算法很优秀,更可以找到离用户最近的节点,大幅缩短响应时间
除了基本的网络加速,还提供负载均衡、安全防护、跨运营商网络等功能
爬虫(Crawler):另一类的User Agent
无论是爬虫还是反爬虫,用到的基本技术就是HTTP和HTML
IP协议:主要目的是解决寻址和路由
TCP协议:传输控制协议,位于IP协议之上
DNS:域名系统,把域名映射到它的IP地址,即域名解析。
HTTPS:HTTP over SSL/TLS,即运行在SSL/TLS协议上的HTTP
HTTPS=HTTP+SSL/TLS+TCP/IP
代理:一般有正向戴笠(代理客户端)、反向戴笠(代理服务端)
CDN是代理服务端响应客户端的请求,是反向戴笠
Nginx负载均衡时属于反向戴笠
5.域名系统
根域名服务器(Root DNS Server):
-----管理顶级域名服务器,返回“com”“net”“cn”等顶级域名服务器的 IP 地址
顶级域名服务器(Top-level DNS Server):
-----管理各自域名下的权威域名服务器,比如 com 顶级域名服务器可以返回 apple.com 域名服务器的 IP 地址
权威域名服务器(Authoritative DNS Server):
-----管理自己域名下主机的 IP 地址,比如 apple.com 权威域名服务器可以返回 www.apple.com 的 IP 地址
通常DNS一般都会使用缓存,要不然每次都访问到根DNS就太慢了。
DNS的解析过程:
浏览器缓存->操作系统缓存(可能内存、硬盘上都有 ipconfig /displaydns 查看) ->本地硬盘hosts文件->非权威域名服务器->根域名服务器->顶级域名服务器->权威域名服务器。
其中非权威域名服务器还包括LDNS(企业内网DNS服务器),三大营运商DNS