(1)网络应用程序体系结构:
1、客户——服务器结构:这个结构的话就是服务器是中心,客户与中心服务器连接。客户端之间不会相互通信,并且服务器有一个固定的公共的IP地址。
2、p2p结构:(这个结构与客户——服务器结构的区别就是在这个结构中不存在中心服务器)括号里是我自己写出的P2P结构的理解,是错误的,实际上,在P2P结构中客户端对位于中心的服务器依赖很小甚至没有依赖,客户端和客户端是可以相互通信的,像树的分支一样。位于中心的服务器用于追踪用户的IP地址。
(2)进程间通信:
1、套接字:进程通过套接字向网络发送接收报文。在同一台主机内:套接字是应用层和网络层之间的接口,套接字也称为应用程序和网络之间的应用程序编程接口,
2、进程寻址:为了找到接收进程,我们需要两个信息:目的主机的地址和目的主机上接收进程的标识符。前者可以运用IP地址,而后者可以运用目的端口号。
3、应用层协议将为应用程序提供服务,那么提供服务可以按四个要求来讨论:可靠传输,吞吐量,定时,安全性:
<1>可靠传输:可靠传输就是保证数据可以完整并且无差错的到达接收方
<2>吞吐量:吞吐量的话就是应用层协议提供某种特定的吞吐量,像电话语音视频啊这些应用对吞吐量的要求就比较高
<3>emmmmmmmmm..其实我觉的吧,吞吐量和定时的实际作用没有什么差别……
<4>安全性:就是例如可以提供加密服务
<5>TCP:
TCP协议提供的是面向连接的可靠的传输。TCP还具有拥塞控制机制,当发送方和接收方出现拥堵的话,TCP会抑制发送方发送数据。现在TCP,UDP都没有提供加密服务,SSL提供了这种服务,SSL不是除TCP,UDP之外的第三种协议,而是对TCP的一种加强。
<6>UDP:
UDP提供的是一种无链接,不可靠服务的运输。
[TCP,UDP是运输层的协议!!]
(3)应用层协议:
应用层协议规定了端系统间如何传递报文(包括报文的格式啊,字段的语义等等),应用层协议有很多如:HTTP SMTP….
1、HTTP:HTTP是Web的应用层协议,HTTP规定了Web用户如何向Web服务器交换信息以及服务器如何向客户端交换信息。HTTP并不会保存客户端的任何信息,因此可以说:HTTP是一种无状态的协议,并且HTTP一般是持续连接的。
2、持续连接与非持续连接:持续连接指的是所有的请求响应经由一个TCP接收发送。所以啦,非持续连接就是每次传递信息单独使用一个TCP。
3、HTTP请求报文:
HTTP请求报文的格式是:请求行、首部行、空行、实体主体。当使用GET方法的时候,实体主体是空的。当用户提交表单的时候,会使用POST方法,此时实体主体就是用户提交的表单的内容
(4)Cookie
这一部分专门总结出了一篇文章,这里就不再提及了。