关于Http协议的部分知识

1.OSI模型以及理解

从下到上分为:

物理层:为设备之间的信息传输提供可靠环境。简单的就是光纤之类的。

数据链路层:提供数据的传送服务。基本来说,它的传输单位是桢

网络层 :路由器

传输层:

会话层:

表示层:

应用层:

2.TCP/IP模型把OSI模型从7层简化到了4层

数据链路(对应1-2层) 网络(3)--IP  传输(4)--TCP  应用(5-7) 

3.TCP与UDP(用户数据报协议)的区别

TCP:面向连接,可靠的,速度慢,效率低。

UDP:无连接、不可靠、速度快、效率高。

4.Http1.1和Http1.0的区别

长连接:在1.0 的时候需要使用keep-alive来告知服务器建立长连接,而1.1默认支持。作用:HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用个长连接来发多个请求。HOST域:HTTP1.0是没有host域的,HTTP1.1才支持这个参数。

5. http基于浏览器的缓存

6. TCP的三次握手与四次挥手过程,各个状态名称与含义

三次握手:

第一次:客户端向服务器端发送SYN标识符,服务器接收到后,客户端状态变为SYN_SENT。

第二次:服务器端向客户端返回SYN+ACK标识符,服务端此时状态变为SYN_RECV

第三次:客户端接收到信息,向服务器端发送ACK,服务器接收后确认OK,此时双方的状态为ESTABLISHED。

CLOSED:初始状态,表示连接关闭

LISTEN:表示可以接受连接

SYN_SENT:表示客户端已发送SYN报文

SYN_RECV:表示接受到了SYN报文

ESTABLISHED:表示连接已经建立了

四次挥手:

第一次:客户端给服务端发送FIN,请求断开连接

第二次:服务端收到FIN给客户端发送ACK确认,关闭接收通道。客户端收到FIN确认后关闭发送通道

第三次:服务端发送FIN给客户端

第四次:客户端收到FIN后给服务端ACK确认,然后客户端关闭接收通道。服务端收到确认后关闭发送通道。

CLOSE_WAIT:等待关闭,服务器的状态

FIN_WAIT_1:当Socket在已经连接的状态时主动关闭连接,向对方发送了FIN报文。是指客户端的状态

FIN_WAIT_2:表示半连接,挥了两次手的状态等待对方的Fin报文。客户端的状态

TIME_WAIT:TCP协议中主动关闭连接的一方要处于TIME_WAIT状态。客户端的状态

LAST_ACK:被动关闭一方在发送FIN报 文后,最后等待对方的ACK报文。服务端的状态

CLOSED:已经完全关闭。双方的状态

Java中的session存储

 

 

创建:sessionid第一次产生是在直到某server端程序调用 HttpServletRequest.getSession(true)这样的语句时才被创建。 
删除:超时;程序调用HttpSession.invalidate();程序关闭。 
session存放在哪里:服务器端的内存中。【5】不过session可以通过特殊的方式做持久化管理(memcache,redis)。 
session的id是从哪里来的,sessionID是如何使用的:当客户端第一次请求session对象时候,服务器会为客户端创建一个session,并将通过特殊算法算出一个session的ID,用来标识该session对象。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值