码迷,mamicode.com
首页 > Web开发 > 详细

通信协议之HTTP,UDP,TCP协议

时间:2015-08-21 19:19:19      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:

1、UDP,TCP,HTTP之间的关系

tcp/ip是个协议组,它可以分为4个层次,即网路接口层,网络层,传输层,以及应用层,

在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。

在传输层有TCP,UDP协议

而在应用层有HTTP,FTP,DNS等协议

因此HTTP本身就是一个协议,是从WEB服务器端传输超文本,到本地浏览器的一个传输协议

2、Socked协议

是为实现以上各个协议而建立的一个通信管道,实际上就是代表了客户端与服务器端的一个通信进程,双方都是通过指定的socked进行通信,

客户端与服务器端都是通过指定的协议去进行通信的。

而socket只能是一种连接模式,它也是完全基于TCP,以及UDP这两个在传输层最基本的协议的。实际上有很多应用层上的协议是完全基于这两个

协议的,比如,HTTP协议就是基于TCP协议(TCP协议是可靠的,在发送和接收时都要计算校验和,在传输字节流时是基于三次握手的)的,

而socked则可以创建TCP或则UDP的连接,这就说明Socked可以创建任意在应用层上的连接,因为在应用层上的协议完全就是基于UDP与TCP的。

 

3、HTTP 超文本传输协议

技术分享

 

HTTP是一个在应用层上的协议,浏览器与服务器端间就会通过HTTP协议在互联网上进行数据的传输以及接受,

HTTP协议是一个基于请求/响应模型的、无状态的传输协议。就是Request/Response模型。

 

来看一个URL的例子

http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff

 

Schema( 指定低层使用的协议(例如:http, https, ftp)):                 http
host ( HTTP服务器的IP地址或者域名):                   www.mywebsite.com
path (访问资源的路径):                   /sj/test/test.aspx
Query String ( 发送给http服务器的数据):           name=sviergn&x=true
Anchor  ( 锚):                 stuff

还有个port#  : HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如 http://www.cnblogs.com:8080/

 

 

 4,HTTP协议之GET,POST

HTTP协议定义了很多的客户端与服务器端进行交互的方法,最基本的有4中,get,post,put,delete,

如果说一个URL地址代表着一个URL地址,那么HTTP中的这四中方法,分别对应着对这4种资源的查,改,增,删操作,

最常见得就是GET,与POST方方法了,GET一般用于获取/查询资源,POST一般用于更新资源,

GET与POST之间的区别如下:

(1)1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.  POST方法是把提交的数据放在HTTP包的Body中.

(2)GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

(3)GET方式需要方法Request.QueryString来取得变量的值,这是通过地址栏来传值 ,而POSt方式通过Request.Form来获取变量的值,这是通过表单的提交来传值。

(4)GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

 

通信协议之HTTP,UDP,TCP协议

标签:

原文地址:http://www.cnblogs.com/Raymond201508/p/4748424.html

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