应用层规定了各种应用间信息传递的方式,所以包含了各种协议。
1. HTTP
答:HTTP超文本传输协议,是一种无状态的面向连接的协议,规定了Client和Server间通信的格式。
1.1 HTTP长连接和短连接
答:HTTP协议的长连接和短连接,实质上就是TCP协议的长连接和短连接。
- HTTP/1.0默认使用短连接,即Client和Server每进行一次HTTP操作,就建立一次连接,任务结束就中断。
- HTTP/1.1起默认使用长连接,网页打开后,Client和Server间传输数据的TCP连接不会关闭,之后再进行访问就直接用已建立的连接。
1.2 如何理解HTTP是无状态的
答:HTTP的无状态,指协议对于事务处理没有记忆能力,不对通信状态进行保存。即打开一个服务器上的网页和上一次打开这个服务器上的网页之间没有任何联系。
1.3 HTTP如何保持会话状态
答:HTTP通过Cookie和Session保存会话状态,用Session来唯一标识用户,用Cookie当作用户通行证。
流程:服务端收到请求处理后生成一个SessionId,将SessionId存入Cookie返回给客户端,将Session内容存储在服务器上。下一次请求时,客户端带着Cookie来请求服务器,服务端从Cookie中取出SessionId,从而实现用户会话状态的保持。