码迷,mamicode.com
首页 > 其他好文 > 详细

应用层概述

时间:2019-01-13 18:06:03      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:不能   对象   http报文   tcp连接   post   工作   分组   保存   src   

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方法:解决缓存服务器和初始服务器中的数据一致性问题,即:缓存中有最新的数据,则不需要想初始服务器发送请求,否则在请求消息中声明自己所持有的旧版本的数据的日期。初始服务器对缓存服务器的数据进行判断,如果缓存中的数据是最新的,则响应消息中不包含对象技术分享图片

 

    技术分享图片

 

 

 

应用层概述

标签:不能   对象   http报文   tcp连接   post   工作   分组   保存   src   

原文地址:https://www.cnblogs.com/fsmly/p/10263226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!