关于tcp和http
Posted 喜欢你的笑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于tcp和http相关的知识,希望对你有一定的参考价值。
转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html
项目要求Web服务是高安全级别,在选择.net remoting,web service,sockte时无法下手,在了解了Http Tcp/Ip之间的关系后有了思路。Http协议基于TCP/IP协议,Web Service 使用的Http协议也是基于TCP/IP协议,可以放心使用Web Service.
.net remoting:分布式开发技术。http://www.cnblogs.com/leslies2/archive/2011/05/11/2040996.html
web service:由SOAP(简单对象访问协议)和WSDL(Web服务描述语言)组成的轻量级的独立的通讯技术。
SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME).
sockte:套接字,存储客户机/服务机识别信息。(C/S程序应用的多些)
----------------------------------------割割-------------------------
一,HTTP请求行中的方法用于HTTP的动作方式,常用的方法有GET、HEAD和POST。
不同的请求对象对应GET的结果是不同的,对应关系如下:
对象 GET的结果
文件 文件的内容
程序 该程序的执行结果
数据库查询 查询结果
HEAD方法要求服务器查找某对象的元信息,而不是对象本身。
POST方法从客户端向服务器传送数据,POST发送的数据服务器接收后对此进行处理,GET只能传送128K的数据而POST是无限制的。
二,HTTP,TCP/IP协议的区别
http协议 对应于应用层
tcp协议 对应于传输层
ip协议 对应于网络层
三者本质上没有可比性,何况HTTP协议是基于TCP连接的。
TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。
我们在传输数据时,可以只使用传输层(TCP/IP),但是那样的话,由于没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用应用层协议,应用层协议很多,有HTTP、FTP、TELNET等等,也可以自己定义应用层协议。WEB使用HTTP作传输层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发送到网络上。
Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。
三,FTP协议的传输方式
1,ASCII传输方式
如果在远程机器上运行的不是UNIX,当文件传输时FTP通常会自动调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
但是常常有这样的情况,用户正在传的文件包含的不是文本文件,他们可能是程序、数据库、字处理文件或者压缩文件等,在复制之前,应该用binary命令高数FTP逐字复制,不要对这些文件进行处理,这也就是它的另一种传输方式,二进制传输。
2,二进制传输
在二进制传输中,数据中保存文件的位序,这样原始的数据和复制的数据书逐位一一对应,而对数据内容本身不进行判断。在大多数计算机上,ASCII方式一般假设每一位字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的!假如你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。
以上是关于关于tcp和http的主要内容,如果未能解决你的问题,请参考以下文章