http,tcp,ip,协议详解

一,HTTP请求行中的方法用于HTTP的动作方式,常用的方法有GET、HEAD和POST。

不同的请求对象对应GET的结果是不同的,对应关系如下:

对象                           GET的结果
文件                           文件的内容
程序                           该程序的执行结果
数据库查询                查询结果
 HEAD方法要求服务器查找某对象的元信息,而不是对象本身。
 POST方法从客户端向服务器传送数据,POST发送的数据服务器接收后对此进行处理,GET只能传送128K的数据而POST是无限制的。
二,HTTP,TCP/IP协议的区别
http协议   对应于应用层  
tcp协议    对应于传输层   
ip协议     对应于网络层 

个人理解:tcp,ip更多对于数据传输和网络ip地址,http超文本协议,对应于应用层,就是我们看到的页面效果

http:主要请求有三部组成:请求行,消息报头,请求正文
get请求方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源
post请求方法:要求被请求服务器接受附在请求后面的数据,常用于提交表单。
get是从服务器上获取数据,post是向服务器传送数据。
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。 

建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

三者本质上没有可比性,何况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字符组合不使用它。如果传输二进制文件,所有的位都是重要的!假如你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。

猜你喜欢

转载自blog.csdn.net/zhaoxiangpeng16/article/details/50998695