zoukankan      html  css  js  c++  java
  • 应用层概述

    1.网络应用程序体系结构

      (1)客户服务器体系结构:存在一个或者多个主动连接服务器,从服务器获取所需服务的客户机,也存在一个能够像客户提供服务的服务器(①客户机之间不能通信②通常采用服务器集群的方式增大服务器端的处理能力)

      

      (2)P2P体系结构:该体系结构中任何一方既能提供服务也能接受服务,不同的结点之间可以互相通信,结点之间的地址以及他们之间的连接随时都可能发生变化(P2P应用比较容易扩展,但是相对来说管理比较困难)

       

      (3)混合结构(上面两种结构的混合):C/S和P2P的混合

    2.网络应用进程通信

      (1)不同主机上面的不同的进程通信(消息交换或者报文交换)通过网络中的套接字来实现,由传输基础设施向应用进程提供API(包括传输协议的选择和相关参数的设置)

      (2)进程寻址:通过Ip地址和端口号来实现;IP地址标识Internet上面的唯一一台主机,但是除了IP地址之外,我们还需要区分同一台主机上面的不同的应用程序,这就通过端口号来实现

      (3)应用层协议:指的是网络应用中需要遵循的协议规定;

      (4)应用层协议的内容:

        ①定义消息的类型:包括请求消息和响应消息

        ②消息的语法格式:包括消息中的字段,每个字段的描述

        ③字段的语义:指的是字段中的信息的含义

        ④指定规则:例如进程如何发送或者响应消息,进程何时发送或者响应消息

    3.Web应用概述

      (1)Web的应用层协议是超文本传输协议(HTTP),HTTP由服务器和客户端两个部分组成,使用HTTP报文进行会话。

      (2)Web页面是由对象组成,一个对象可以是HTML文件、图形文件、视频文件等文件类型,这些对象通过URL来进行寻址

      (3)HTTP使用TCP作为他的传输层协议。  

        ①HTTP客户首先发起一个与服务器的TCP连接,一般情况下,服务器端口默认是80,所以服务器端应用在80端口监听客户端的请求

        ②客户端发送到服务器端的TCP连接(创建套接字),服务器接受来自客户端的TCP连接

        ③客户端和服务器之间通过http报文进行相关信息的交换

        ④最后关闭TCP连接

      (4)HTTP是一种无状态协议:即服务器端不维护任何关于客户端过去发送的信息

      (5)HTTP连接类型:

        ①非持续连接:下面是一个非持续连接的例子

      

      

        a)非持续连接请求一个文件所需要的响应时间分析:

        

          发起TCP、请求建立TCP连接所需要的时间:1RTT

          发送HTTP请求消息和HTTP响应消息:1RTT

          响应消息中所包含的请求文件信息的传输时间

        所以总的时间就是2RTT+文件传输时间

        b)缺陷:

          每个对象都需要2RTT

          操作系统建立TCP连接造成大的资源开销

          客户端使用浏览器并行的建立TCP连接请求资源,会给服务器造成更大的压力

        ②持续连接:HTTP1.1中新引入的持续连接传输模式

          a)服务器在发送响应后,保持TCP连接,用于后续对象的传输,从而减少了服务器端连接次数的需要,减少了服务器端对套接字资源的占用,增大服务器端的负载能力

          b)流水线传输方式:客户端可以一次性发送所有请求,然后等待接收,理想情况下,收到的时间大约为1RTT

          c)非流水传输方式:客户端发送求情之后,等到收到服务器的响应之后才可以发送下一个请求,这样的话,每一个对象的传输都需要1RTT的时间

       (6)HTTP请求消息格式

        a)HTTP请求报文的一般格式

        

        如下实例:

        

        b)HTTP1.0版本中请求所支持的方法:

          GET:想服务器发送指定URL的对象

          POST:用于向服务器提交表单,也可以请求Web页面,

          HEAD:服务器发送回来的响应报文,该报文中不包含请求的对象

        c)HTTP1.1版本中除了GET、POST、HEAD之外新定义的方式

          PUT:将上传的字段放在实体主体字段中,目标路径由URL标明

          DELETE:删除指定URL对应的字段  

       (7)HTTP响应消息

        a)HTTP响应报文的一般格式  

        

        下面是一个具体的例子

         

       (8)HTTP中的Cookie技术

         a)为了辨别用户身份,进行会话跟踪而存储在本地终端上面的数据

        b)组件

          Http请求消息中的cookie头部行

          Http响应消息中的cookie头部行

          保存在客户端主机上面的cookie文件,通常由浏览器管理

          Wen站点后台数据库

        c)Cookie的工作流程

        

        d)cookie好处

          实现认证功能

          购物车功能

          推荐功能

          保存用户的回话状态(Web email)

        e)用户的隐私被暴露

       (9)HTTP中的Web缓存技术

        a)Web缓存也叫代理服务器,能够代表初始服务器来满足HTTP请求。即用户可能可以在不访问初始服务器的情况下满足自己的HTTP请求

        b)用户通过设定浏览器通过缓存进行Web访问,则浏览器想代理服务器发送所有的HTTP请求,如果请求对象在缓存中,则直接返回对象,否则,代理服务器想初始服务器发送HTTP请求,然后返回给客户端并保存该对象  

        

        c)上面可以看书代理服务器既充当客户端,也充当服务器

        d)Web缓存示例分析

          

        

        

        e)条件get方法:解决缓存服务器和初始服务器中的数据一致性问题,即:缓存中有最新的数据,则不需要想初始服务器发送请求,否则在请求消息中声明自己所持有的旧版本的数据的日期。初始服务器对缓存服务器的数据进行判断,如果缓存中的数据是最新的,则响应消息中不包含对象

        

     

  • 相关阅读:
    ssh端口转发
    linux git命令安装
    linux git命令
    linux cpio命令
    linux 抓包工具
    js 深拷贝 ,浅拷贝
    vue $router 打开新窗口
    excel常用操作
    Kafka Topic的增删改查操作
    linux上删除文件名乱码的文件
  • 原文地址:https://www.cnblogs.com/fsmly/p/10263226.html
Copyright © 2011-2022 走看看