第一章 了解Web及网络基础
Web建立基础、HTTP如何诞生发展
1.使用HTTP协议访问Web
在浏览器地址栏中输入URL之后过程:
1)DNS 解析:浏览器查询 DNS,获取域名对应的 IP 地址:具体过程包括浏览器搜索自身的 DNS 缓存、搜索操作系统的 DNS 缓存、读取本地的 Host 文件和向本地 DNS 服务器进行查询等。对于向本地 DNS 服务器进行查询,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析(此解析具有权威性);如果要查询的域名不由本地 DNS 服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个 IP 地址映射,完成域名解析(此解析不具有权威性)。如果本地域名服务器并未缓存该网址映射关系,那么将根据其设置发起递归查询或者迭代查询;
2)TCP 连接:浏览器获得域名对应的 IP 地址以后,浏览器向服务器请求建立链接,发起三次握手;
3)发送 HTTP 请求:TCP 连接建立起来后,浏览器向服务器发送 HTTP 请求;
4) 服务器处理请求并返回 HTTP 报文:服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理,并将处理结果及相应的视图返回给浏览器;
5)浏览器解析渲染页面:浏览器解析并渲染视图,若遇到对 js 文件、css 文件及图片等静态资源的引用,则重复上述步骤并向服务器请求这些资源;浏览器根据其请求到的资源、数据渲染页面,最终向用户呈现一个完整的页面。
6) 连接结束。
2.HTTP的诞生——巴拉巴拉……
3.网络基础TCP/IP
TCP/IP是互联网相关的各类协议族的总称。
【分层管理】:
应用层(决定了向用户提供应用服务时通信的服务):FTP、DNS、HTTP…
运输层(提供处于网络连接中的两台计算机之间的数据传输):TCP、UDP
网络层(处理网络上流动的数据包):IP、ARP、ICMP、BGP
链路层(处理连接网络的硬件部分):PPP、CSMA/CD
【TCP/IP通信传输流】:
发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息(封装)。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。
我们用 HTTP 举例来说明:
首先作为发送端的客户端在应用层(HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。
接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。
接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP请求。
4.与HTTP关系密切的协议:IP、TCP、DNS
【IP:负责传输】IP 地址是指互联网协议地址,处于网络层,是 IP 协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
IP是一种协议的名称,要与IP地址区分出来。IP协议的作用是把各种数据包传送给对方。而确保消息传送到对方那,需要两个重要条件:IP地址和MAC地址。
IP地址指明了节点被分配的地址,MAC地址是指网卡所属的固定地址。
ARP协议:根据通信方的IP地址反查出对应的MAC地址。
路由选择:BGP、RIP、OSPF
【TCP:确保可靠性】TCP处于运输层,提供可靠的字节流服务。字节流服务是指为了方便传输,将大数据分割成以报文段为单位的数据包进行管理。可靠是指能把数据准确可靠的传输给对方(三次握手、四次挥手)。
【DNS:负责域名解析】DNS协议提供通过域名查找IP地址,或者逆向从IP地址反查域名的服务。
5.各种协议和HTTP协议的关系
6.URI和URL
URI:统一资源标识符,用字符串标识(无论何种方式,只要能标识就可以)某一互联网资源。
URL:统一资源定位符,用字符串表示资源的地点,URL只是标识某一互联网资源的方式的其中一种,因此URL是URI子集。URL则通过描述是哪个主机上哪个路径上的文件来唯一确定一个资源,也就是定位的方式来实现的URI。
【URI格式】
登录信息:指定用户名和密码作为从服务器端获取资源的必要的登录信息(身份认证)。可选项。
片段标识符:标记已获取资源中的子资源。