读计算机网络应用层心得体会
2013-09-22 22:50
316 查看
今天读计算机网络自顶向下方法这本书的应用层协议Http时结合曾经做过的一个Android的项目,对Http通信有了更深入的了解,记录如下:
什么是Socket。
Socket是套接字这大家都知道,那么这个东西具体是干吗用的呢,他存在的目的是什么呢,我读完计算机网络书中的应用层协议Http后有了自己的理解,首先Http是建立在运输层TCP协议上的一个协议,Http可以通过某种手段对TCP协议进行一些参数的设置,以达到对TCP协议的不完全控制,这里说的某种手段就是Socket,其实Socket的相当于TCP对上层服务提供的一个API(程序编程接口),上层服务通过调用这个Socket接口里的函数对下层的TCP协议进行一小部分的设置,如设置TCP是否为持久链接,超时等等这些东西,由于Socket并没有提供对TCP如何进行数据传输的控制,所以Http也不可能控制TCP具体的数据传输机制。
总结:Socket是TCP提供给上层服务的一个可调用的API,上层服务通过Socket对TCP进行部分控制和设置。
什么是一个TCP连接,以及什么是持久连接什么是非持久连接
其实这一点相对来说比较简单,但是他的主要作用是承接上面的心得一,以及过度到下面的心得三
一个TCP连接对应了一对socket套接字,也可以说是对应了一个主机上的某个端口号,以发送Http请求为例,当客户定义一个HttpClient的对象httpClient时候,并执行httpClient.execute(URL url)方法时,底层的实现是Java编程中的Socket编程,也就是说底层会为这个HttpClient分配一个端口号来建立一个socket连接(也就是TCP连接),如果你对这个HttpClient进行相应的设置使得为他提供服务的下层TCP协议不是一个持久连接的话,那么当获取到HttpResponse的时候,这个TCP连接就会断开,如果你设置为持久连接,那么当你用httpClient再次执行execute方法向服务器发送请求的时候,底层使用的是同一个TCP连接,而不需要重新进行三次握手进行连接,这就是TCP持久连接和非持久连接的区别。
什么是Socket。
Socket是套接字这大家都知道,那么这个东西具体是干吗用的呢,他存在的目的是什么呢,我读完计算机网络书中的应用层协议Http后有了自己的理解,首先Http是建立在运输层TCP协议上的一个协议,Http可以通过某种手段对TCP协议进行一些参数的设置,以达到对TCP协议的不完全控制,这里说的某种手段就是Socket,其实Socket的相当于TCP对上层服务提供的一个API(程序编程接口),上层服务通过调用这个Socket接口里的函数对下层的TCP协议进行一小部分的设置,如设置TCP是否为持久链接,超时等等这些东西,由于Socket并没有提供对TCP如何进行数据传输的控制,所以Http也不可能控制TCP具体的数据传输机制。
总结:Socket是TCP提供给上层服务的一个可调用的API,上层服务通过Socket对TCP进行部分控制和设置。
什么是一个TCP连接,以及什么是持久连接什么是非持久连接
其实这一点相对来说比较简单,但是他的主要作用是承接上面的心得一,以及过度到下面的心得三
一个TCP连接对应了一对socket套接字,也可以说是对应了一个主机上的某个端口号,以发送Http请求为例,当客户定义一个HttpClient的对象httpClient时候,并执行httpClient.execute(URL url)方法时,底层的实现是Java编程中的Socket编程,也就是说底层会为这个HttpClient分配一个端口号来建立一个socket连接(也就是TCP连接),如果你对这个HttpClient进行相应的设置使得为他提供服务的下层TCP协议不是一个持久连接的话,那么当获取到HttpResponse的时候,这个TCP连接就会断开,如果你设置为持久连接,那么当你用httpClient再次执行execute方法向服务器发送请求的时候,底层使用的是同一个TCP连接,而不需要重新进行三次握手进行连接,这就是TCP持久连接和非持久连接的区别。
相关文章推荐
- 计算机网络的应用层简单介绍:
- 关于计算机网络应用安全问题的思考
- 计算机网络基础及应用
- Fedora 10下应用网络模拟器NS心得
- 计算机网络——应用层
- 关于Android TV应用开发的心得体会
- 计算机网络应用层笔记
- 计算机网络14--网络应用进程通信
- 计算机网络应用层之HTTP协议
- Java语言在计算机网络课程中的应用
- Fedora 10下应用网络模拟器NS心得
- 读书笔记:计算机网络8章:应用层
- 计算机网络应用层之cookie
- 计算机网络:应用层
- 计算机网络学习-应用层
- 计算机网络(5)应用层
- 计算机网络知识整理:应用层,DHCP, DNS, SMTP, HTTP, FTP, TELNET, SNMP
- 计算机网络系列(4)之应用层SubNet and DHCP