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.域名系统


HTTP基础_HTTP笔记

根域名服务器(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