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

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上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

时间: 2024-08-29 01:19:09

通信协议之HTTP,UDP,TCP协议的相关文章

网络编程UDP/TCP协议

一.网络编程三要素 IP:网络中设备的标识,不易记忆,可用主机名 端口号:用于标识进程的逻辑地址,不同进程的标识 传输协议:通讯的规则常见协议:TCP,UDP UDP 把数据打成一个数据包 , 不需要建立连接 数据包的大小有限制不能超过64k 因为无连接,所以属于不可靠协议(可能丢失数据) 因为无连接 ,所以效率高 TCP 需要建立连接,形成连接通道 数据可以使用连接通道直接进行传输,无大小限制 因为有链接,所以属于可靠协议 因为有链接,所以效率低 二.IP以及端口号 1.InetAddress

udp/tcp协议及三次四次握手

用户数据报协议(UDP) UDP是一个简单的传输层协议(RFC 768). 进程往一个UDP套接字写入一个消息,该消息随后被封装(encapsulating)到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后发送到目的地. (1) UDP的几个"不保证" [1] 不保证UDP数据报会到达其最终目的地: [2] 不保证各个数据报的先后顺序跨网络后保持不变: [3] 不保证每个数据报只到达一次: -- 总之,UDP不提供可靠性,其本身不提供确认.序列号.RTT估算.超时.

c# UDP/TCP协议简单实现(简单聊天工具)

长时间没有摸这两个协议,写个代码温习下 下面是界面 [服务器界面] [登陆界面] [好友列表界面(我登陆了2个)] [聊天界面] 下面大致讲解下用到的内容 1.用户登陆于服务器通信用到的tcp协议,服务器接收到用户登陆信息(包括ip,端口,用户名等)后,返回已经登陆的用户列表信息(包括ip,端口,用户名等)给这个用户,同时服务器使用Udp协议向已经登陆的用户发送最新用户列表(包括ip,端口,用户名等)用于更新用户列表 2.用户登陆成功后展示好友列表,并启动udp协议的监听(叫监听似乎不太合适,暂

TCP-IP之 UDP/TCP协议

从之前介绍的网络层协议来看,通信的两端是两台主机,IP 数据报首部就标明了这两台主机的 IP 地址.但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此,严格地讲,通信双方不是主机,而是主机中的进程. 端口的作用体现在传输层. 根据 IP 地址或 MAC 地址都只能是把数据传到正确的主机,但具体需要传到哪一个进程,是通过端口来辨认的.比如同时使用浏览器和 QQ,浏览器占用 80 端口,而 QQ 占用 4000 端口,那么发送过来的 QQ 消息便会通过 4000 端口

UDP协议&TCP协议

域名: DN (Domain name)是由一串由点分隔的名字组成的Internet上某一台计算机或计算机组的名称. 域名服务系统:DNS:它可以作为将域名和IP地址相互映射的一个分布式数据库. 协议: 应用层常见协议: http协议:超文本传输语言. ftp协议:文件传输协议 smtp协议:简单邮件传输协议 传输层的协议: UDP协议:用户数据报协议,面向无连接的,简单不可靠的传输层协议. 面向无连接 通过数据报包来进行传输,每个数据报包大小不会超过64k. 不可靠的传输. 传输速度快. TC

【Windows socket+IP+UDP+TCP】网络基础

Windows Socket+网络 Winsock是 Windows下套接字标准.          Winsock 编程分为UDP[Windows socket + UDP],TCP[Windows socket + TCP]编程.Windows socket 建立在网络基础之上,UDP编程採用用户数据报协议(User Datagram Protocol ,UDP),TCP编程採用传输控制协议(Transmission Control Protocol,TCP).UDP.TCP不同的特性.适应

【Windows socket+IP+UDP+TCP】

Windows Socket+网络 Winsock是 Windows下套接字标准.          Winsock 编程分为UDP[Windows socket + UDP],TCP[Windows socket + TCP]编程.Windows socket 建立在网络基础之上,UDP编程采用用户数据报协议(User Datagram Protocol ,UDP),TCP编程采用传输控制协议(Transmission Control Protocol,TCP).UDP,TCP不同的特性,适应

通信协议:HTTP、TCP、UDP

转载地址:http://blog.jobbole.com/84429/ TCP   HTTP   UDP: 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务. TCP   HTTP   UDP三者的关系: TCP/IP是个协议组,可分为四个层次:网络接口层.网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP.HTTP.TELNET.SMTP.DN

在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层做文章?(QQ 为什么采用 UDP 协议,而不采用 TCP 协议实现?)

为了解决这题,可以具体看看下面这个讨论. 解灵运工程师 185 人赞同 某次架构师大会上那个58同城做即时通信的人说:原因是因为当时没有epoll这种可以支持成千上万tcp并发连接的技术,所以他们使用了udp,然后在udp上面封装了一下,模拟了一下tcp,解决了大并发的问题,之后因为做的很nb了,虽然epoll这种技术出现了,还是没有改回使用tcp了.现在再做类似的东西就不需要使用udp了.这个说法应该比较可信的. 发布于 2014-04-16 18 条评论 感谢 分享 收藏 • 没有帮助 •