TCP和UDP的区别、HTTP

来源:互联网 发布:阿里云动态ip 编辑:程序博客网 时间:2024/05/21 22:45

网络OSI七层模型

物理层:主要定义物理设备标准,主要作用是传输比特流

数据链路层:定义了如何格式化数据进行传输,以及如何控制对物理介质的访问  以太网

网络层:在不同网络之间的主机提供网络连接和路径选择 IP、ICMP、ARP、RARP、RIP、OSPF

传输层:定义一些传输数据的协议和端口 TCP、UDP

会话层:在系统之间发起会话或者接收会话请求

表示层:定义会话的数据格式,保证应用层发送的数据能被另一端的应用层所接收

应用层:为用户应用程序提供服务 HTTP、FTP、DNS、DHCP、SMTP


TCP和UDP的区别

1、基于连接和无连接:TCP是面向连接的,在数据传输之前双方必须进行可靠的连接,即三次握手建立连接;UDP在传输数据之前源端和终端不需要建立连接,当需要传输数据时,就简单地抓取来自应用程序的数据,并尽可能快的扔到网络上

2、对系统资源的要求:TCP需要“三次握手”建立连接和“四次挥手”断开连接,需要消耗资源

3、结构不同:TCP首部长度20字节,UDP首部长度8字节

4、流模式和数据报模式:TCP提供字节流服务,UDP数据报

5、可靠性:TCP可靠-(1)定时等待,超时重传(2)有确认机制(3)对收到数据进行排序(4)丢弃重复数据(5)流量控制(6)拥塞控制

TCP的状态转换图



HTTP

1、头部方法

get:(1)没有请求主体(2)会将请求字段拼接到URL上(3)有长度限制,因为只拼接在URL上进行传输的,URL长度有限制(4)采用明文传输,不安全(5)容易被浏览器缓存(6)浏览器默认全是get请求

post:(1)有请求主体(2)没有长度限制(3)不是明文传输,安全性较好(4)不会被浏览器缓存

put:(1)有请求主体(2)没有长度限制(3)不是明文传输,安全性较好(4)成功返回状态码202

delete:(1)没有请求主体(2)请求拼接在URL上,有长度限制(3)明文传输,不安全(4)成功返回状态码202

head:(1)没有请求主体(2)请求拼接在URL上,有长度限制(3)明文传输,不安全(4)没有响应主体

option:

get系:get、head、delete

post系:post、put

方法各司其职:增加-post、删除-delete、修改-put、查询-get

2、状态码

1xx:消息,代表请求已被接收,需要进一步处理    100-Continue

2xx:成功,代表请求已成功被服务器接收、理解、被接受    200-OK、202-Accept

3xx:重定向,代表客户端需要进一步操作才能完成请求    302-Move temporarily、303-See other

4xx:客户端错误    400-Bad Request、401-Unauthorized、403-Forbidden、404-Not Found

5xx:服务端错误    500-Internal Server Error、502-Bad Gateway、503-Service Unavailable、504-Gateway Timeout

0 0
原创粉丝点击