当前位置:   article > 正文

网络_IP协议、TCP协议、HTTP协议_ipv4协议和tcp协议区别

ipv4协议和tcp协议区别

1、IP协议internet protocal

互联网协议,属于Internet层协议。版本: ipv4、 ipv6

功能:利用ip地址找到要通信的网络

  源ip地址---目标ip地址    32位

生存时间: 数据最多能经过多少个路由器(数据在网络中能存活多久)

如生存时间=64,代表数据最多能经过64个路由器,每经过1个路由器,生存时间就减1,当生存时间=0时,数据还没有传到目的网络就被丢弃了,所以实现的是不可靠传输

2TCP、UDP协议transmission control protocal

传输控制协议,属于传输层协议

功能特点:

1、利用端口号找到要通信的进程/软件

2、面向连接的协议建立连接(三次握手)-----传输数据-----断开连接(四次挥手)

三次握手:

A--->B:我要和你建立连接 SYN=1(SYN=1:要和对方建连接,SYN=0:不关注)

B--->A:收到,我也要和你建连接 SYN=1,ACK=1(ACK=1:收到,ACK=0:无意义)

A---->B收到了(连接建立成功)ACK=1

四次挥手:

A--->B:我要和你断开连接 FIN=1  ACK=1(FIN=1:要和对方断开连接  FIN=0:不关注)

B---->A:收到了 ACK=1(ACK=1:收到,ACK=0:无意义)

B---->A:我也要和你断开连接 FIN=1    ACK=1

A---->B:收到了(断开连接) ACK=1

三次握手

四次挥手 

3实现可靠传输的协议

发送的数据有顺序号(seq)、确认号(Ack),当ACK=1(表示收到了) 时Ack才有效,ACK=0 表示没有收到。

Ps:为什么要进行四次挥手?

因为TCP协议是全双工的通信协议,为了保证双方数据都传输完毕再断开连接。

(通信方式:1.单工通信:只能一方发消息,一方只能收消息)

                      2.半双工通信:双方都可以发送和接收消息,但是不能同时进行(如对讲机)

                      3.全双工通信:同一时间,双方都可以发送和接收消息(如电话)

Ps:为什么说TCP协议是实现可靠传输的协议?

1、传输数据前,有三次握手和四次挥手

2、收到数据的一方要给出回复

3、数据没有收到后,还提供重传功能

Ps:TCP和UDP协议的区别?  

 UDP:用户数据报协议

相同点:都是传输层协议,端口号寻址

不同点:1、TCP:面向连接的协议,UDP协议:面向非连接的协议(TCP协议有三次握手四次挥手,UDP协议没有)

               2、TCP实现可靠传输,UDP实现不可靠传输(收到一方没有回复,不提供重传)    

               3、TCP传输效率不如UDP效率高

3、 http协议:

(hyper text transport protocol

超文本传送协议,是web系统和浏览器之间的通信协议,规定了浏览器和服务器之间的通信规则。属于应用层的协议。

请求响应式的协议:

1、请求:浏览器发往web服务器包含4部分

1请求行:表名请求方式

(URL、协议名称、协议版本)    

get:获取数据、post:向服务器提交数据、put: 更改服务器上的数据、delete: 删除数据

2请求头(request header):

host: 主机,访问服务器的主机地址(ip、域名)   

connection:  keep-alive、close

content-type: 请求的数据是什么类型

user-agent: 客户端使用的操作系统、浏览器版本

cookie:

3空一行  

4请求体:putpostdelete的数据放在请求体里面

get请求方式的数据在url中

Ps:get请求和post请求区别:

(1)get请求主要是获取数据,post请求提交数据

(2)get请求的数据在url中,post请求的数据在请求体里面

(3)get请求数据有长度限制(浏览器的地址栏有长度限制),post请求数据长度没有限制

(4)get请求相对不安全(数据在url中暴露出来),post请求相对安全   

(5)get请求刷新浏览器时,请求不会重新提交给服务器,post请求刷新浏览器,请求会重写再次提交给服务器

2响应:web服务器返回数据给浏览器包含4部分

 

1状态行:协议+版本+响应状态码+原因短语

响应状态码:1xx、2xx、3xx 、4xx、5xx

1xx-----3xx  正常的响应   4xx---5xx 异常的响应

1xx: 接收到请求并需要继续处理请求

2xx: 请求已被成功接收,理解接受。   200 请求成功

3xx: 重定向,要完成该请求必须进行进一步操作

4xx: 客户端有错误   

      403:服务器拒绝客户端的请求   404请求的资源找不到 405:禁止请求中指定的方法

5xx: 服务器有问题,无法完成请求    500内部服务器错误   503:服务器目前无法使用

2响应头:

server: 告诉浏览器web服务器版本

content-type: 返回的响应数据类型

connection: keep-alive、close

set-cookie: 下面有

3空一行

4响应体:返回响应的数据

3、http协议特点:无状态无连接

(1)无连接:限制每次tcp连接只能处理1次请求,请求处理完之后断开连接。

如何解决:connection: keep-alive(长连接)、close(短连接)

1.0版本:close:一次tcp连接只能处理1个请求,请求完毕,断开连接。

1.1版本:keep-alive:请求完毕后保持连接不断开,一次tcp连接可以处理多个请求。

(2)无状态:服务器记不住客户端之前发送过什么请求、目前状态如何。

如何解决:cookie/session,用来记录用户个性化信息。

4、cookie+session:

Cookie:web服务器生成的,通过set-cookie字段把个性化的信息保持到该字段,传给浏览器,浏览器把它保持到客户端电脑,下次发送请求时,通过请求头cookie字段把cookie值发送给服务器。

session: 会话,由服务器生成,浏览器给服务器发送一次请求,服务器给浏览器返回一次响应的过程就称为一次会话,保存到服务器上的。

session id:代表不同访问网站的用户,每个用户分配1个唯一的session id

Ps:cookie和session的区别:

1. cookie保存在客户端,session保存到服务端

2. cookie不是很安全,放到客户端

3.单个cookie保存的数据不能超过4k, 很多浏览器限制一个网站最多保存20个cookie

4. cookie的过期时间可以设置很长,session一般浏览器关闭后就失效

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/938350
推荐阅读
相关标签
  

闽ICP备14008679号