http协议:
http是超文本传输协议(Hyper Text Transfer Protocol),是一种无状态的协议,HTTP在客户端和服务器之间以request-responseprotocol工作,通常发送请求就是http中的两种: GET/POST
长连接:
早期在设计网络通信, 其实没有考虑长短连接的问题.
设计这个连接源于我们连接本身很复杂. 早期在设计连接的时候采用三次握手的模型.
早期在设计连接的时候 只是考虑数据的传输 因此 只要连接上 数据传输完毕 即断开连接. 这个现在称为 短连接.
但是今天页面发展的非常快, 为了保证可以下载完整的数据, 不可能频繁的连接接收数据.
因此考虑将连接数据传输结束后在一定时间内保持连接, 如果还有数据传输, 则时间重新计算.
如果超出时间范围 再 断开连接. 将这样的连接称为长连接.
GET--从指定的服务器中获取数据
POST--提交数据给指定的服务器处理
使用GET请求时,查询字符串被拼接在url后面作为参数一起发送到服务器
特点:
<li>GET 请求能够被缓存
<li>GET 请求会保存在浏览器的浏览记录中
<li>以GET请求的URL能够保存为浏览器书签
<li>GET请求有长度限制
<li>GET请求主要用以获取数据
使用POST请求时,只需要将表单中的 method 属性修改为 post 即可发送 post 请求
get 请求 与 post 请求有什么区别?
1.GET 请求谓词 为 get, 参数会附在 url 地址中传递, get 请求会有缓存
2.POST 请求谓词 为 post, 参数会在报文中提供, post 请求没有缓存. post 会增加一个新的 MIME 类型,这个 mime 类型是为了告诉服务器如何解释参数
异同
- GET 请求会将数据暴露在 url 地址中, 因此敏感信息应该使用 post 请求.
- 由于 GET 请求时将数据放在 url 地址里面 而不同的浏览器 url 地址的容量是有限的. 如果请求发送的数据过大不易使用 GET.
- 由于 GET 请求使用 url 地址, 也字符串来提交参数, 因此无法处理二进制数据, 因此要提交文件数据, 必须使用 POST
HTML5的websocket,实现了持久的浏览器和服务器通信:
通常我们用http协议,只能实现客户端发送请求给服务器,服务器返回数据,只有请求的情况下才会返回数据,但如果服务器连续更新状态,那么我们的客户端就收不到服务器的实时数据,这种单项的数据传递,就注定了我们客户端如果想获取就非常困难,我们只能使用"轮询",m每隔一段时间发送一个询问,询问服务器有没有新的数据,最典型的使用场景就是聊天室,"轮询"的效率低,非常浪费网络资源,这时候html5的websocket就被发明了
最大的特点:就是服务器可以主动给客户端发送信息,客户端也可以主动给服务器发送信息,真正实现了数据的实时更新,是服务器技术的一种方式