网络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