1)客户端
通过发送请求获取服务器资源的Web浏览器等,都可以成为客户端
2)TCP/IP传输流
从”高“到“低”
应用层(HTTP) => 传输层(TCP) => 网络层(IP) => 链路层(硬件,肉眼可见)
3)DNS
服务器IP地址对应人的身份证号,网站域名对应人的姓名。
这两个一一对应存在某个地方(某个市,这个市就代表DNS,往上边还有范围更广的)
你在web客户端里输入域名,浏览器会派一个小人去这个市区查找对应的IP地址,找不到就继续往高一等级的地方找,找到了就返回,然后客户端根据这个IP地址发送请求。
你的电脑C盘有个HOST这个就是最小范围的市,找不到就去网络上的更大的DNS服务器上去找
4)通信数据转发程序
分为三类:代理、网关、隧道
代理:就是中间人的意思,具有转发功能的应用程序(代理不改变URI),接受客户端请求发送给服务器,也接受服务器响应返回给客户端,代理可以有多个,根据via首部来判断。
代理的作用:缓存技术以减少网络带宽的流量,对访问进行控制(检查是否可以通过等),获取访问日志等等。
缓存:在使用代理服务器进行通信的时候,有一种代理服务器叫做缓存服务器,会在接受到服务器(或者上一级代理服务器)资源后,会缓存资源副本,下次再请求相同资源服务器的时候,会直接将缓存资源发送。
缓存资源 有 有效期限,所以,每次发送请求遇到有缓存资源的时候,代理回去源服务器确认,缓存资源是否是最新的,如果是最新的,则直接返回,如果不是,则重新请求、缓存。
相对应的,也有客户端缓存,大同小异,不做过多说明。
缓存的作用:节省了通信流量和通信时间,避免服务器处理多次相同的请求
--------------------------------------------萌萌哒分割(C)-----------------------------------------------
网关:网关的工作机制和代理十分相似,但是网关能够间接提供非HTTP协议服务。
比如你的http请求请求的是一个网关,而网关转发其他服务器资源的时候运用的是非HTTP协议,获取后,会通过HTTP协议返回给客户端,但是这个过程是透明的,感觉就像你直接和你请求的服务器通信一样,但其实你是在和网关通信。
网关的作用:网关能够提高通信的安全性。
--------------------------------------------萌萌哒分割(P)-----------------------------------------------
隧道:隧道是在相隔甚远的客户端和服务器之间进行中转,并保持双方通信连接的应用程序,隧道本身是透明的。
隧道的作用:使用隧道可以使用SSL等加密手段进行通信,确保客户端和服务器进行安全的通信