HTTP协议----URI,URL,持久连接,管道与Cookie
URI与URL有什么不同呢?
URI:Universal Resource Identifier统一资源标志符
URL:Universal Resource Locator统一资源定位器
URI是用来唯一地确定资源的表示方式,只要资源能唯一确定,则可以算作一种URI
URL是用定位的方式来确定资源的表示方式,比如常见的http://www.google.com
所以URL是URI的子集
在HTTP/1.0中,每个TCP连接只能发送一个请求,一旦服务器回应,则连接关闭,称为短连接。
然而新建TCP连接开销很大,需要三次握手,并且开始发送时速率较慢(slow start),所以在HTTP/1.0中,效率较差。
为了解决这个问题,在HTTP/1.0中加了一个非标准字段:
Connection: keep-alive
直到服务器或者客户端主动关闭连接,才关闭TCP,称之为长连接。
在HTTP/1.1中,引入了持久连接,不用显式声明Connection,TCP连接默认不关闭。
当客户端发送:
Connection: close
或者客户端和服务器在一段时间内没有活动,则关闭TCP连接。
管道(pipelining)机制:
基于持久连接,管道机制允许客户端并行发送多个请求,而不需要客户端发送一个请求,服务器响应这个请求之后,才能发送下一个请求。
HTTP是无状态(stateless)的,不对请求和响应之间的状态进行保存,不保存之前一切的请求和响应信息。
通过使用Cookie技术,可以保存状态:
服务器端在响应报文中创建Set-Cookie字段,通知客户端保存Cookie。
下一次客户端发送请求时,会在请求报文中加入Cookie再发送出去。
服务器根据客户端发来的Cookie,通过查询比对,得知之前的状态信息。
HTTP协议----URI,URL,持久连接,管道与Cookie的更多相关文章
- HTTP协议学习笔记---HTTP持久连接和如何正确地关闭HTTP连接
一,持久连接 什么是持久连接?对于HTTP协议而言,它是基于请求响应模型,Client向Server发请求时,先建立一条HTTP连接,Server给Client响应数据后,连接关闭. 当Client发 ...
- WebSocket 是什么原理?为什么可以实现持久连接?
https://www.zhihu.com/question/20215561 作者:Ovear链接:https://www.zhihu.com/question/20215561/answer/ ...
- ASP.NET SignalR2持久连接层解析
越是到年底越是感觉浑身无力,看着啥也不想动,只期盼着年终奖的到来以此来给自己打一针强心剂.估摸着大多数人都跟我一样犯着这样浑身无力的病,感觉今年算是没挣到啥钱,但是话也不能这么说,搞得好像去年挣到钱了 ...
- 406 UDP协议是面向非连接的协议
HTTP The Definitive Guide Table 3-1. Common HTTP methods Method Description Message body? GET ...
- http协议与url简介(转)
一 知识简介 HTTP:(Hypertext transfer protocol)超文本传输协议,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议. URL ...
- 【转】WebSocket 是什么原理?为什么可以实现持久连接?
WebSocket是HTML5出的东西 也就是说HTTP协议没有变化 但HTTP是不支持持久连接的(长连接,循环连接的不算)或者说WebSocket干脆就不是基于HTTP来执行的.但是...说不通啊. ...
- WebSocket是什么原理,为什么可以实现持久连接
本文摘抄自知乎,原文标题:WebSocket 是什么原理?为什么可以实现持久连接? Websocket只是协议而已. 一.WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化, ...
- 406 UDP协议是面向非连接的协议 Keep-Alive
HTTP The Definitive Guide Table 3-1. Common HTTP methods Method Description Message body? GET ...
- WebSocket是什么原理?为什么可以实现持久连接?
作者:Ovear 链接:https://www.zhihu.com/question/20215561/answer/40316953来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
随机推荐
- Linux显示隐藏文件
Linux显示隐藏文件 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -a . .dbus .local .xsession-errors.old .. ...
- 在SDL工程中让SDL_ttf渲染汉字
有时候在关于SDL的博文中看到一些评论,说SDL对中文的支持不佳,因为当程序涉及中文时总是输出乱码. 照我个人观点,这里面很多都是误解.下面就根据我在windows下使用SDL的情况,说说我的观点. ...
- Flex中TabNavigator隐藏和显示选项卡
1.问题背景 遇到这样一个问题:有四个Tab选项卡,根据不同的参数隐藏和显示选项卡 2.实现实例 (1)隐藏"春季" protected function springClickH ...
- HTTP的长连接,你不知道的连接。。。
长连接起源 什么样的连接才能称之为长连接?要多长.... http是一种无状态的协议,也就是stateless协议,而http协议又是建立在tcp/ip协议的基础之上的. 无状态表示每次请求都是一次独 ...
- ssm整合快速入门程序(三)之Data类型转换器
今天就写写springmvc配置Data类型转换器 首先在创建一个转换器的包cn.my.ssm.controller.converter,创建一个CustomDateConverter类实现Conve ...
- linux优化项
Linux优化: 1.建立普通账号,使用普通用户登陆. 2.处理SELINUX. 3.处理防火墙. 4.精简开机自启动服务.保留sshd,network,crond,rsyslog,sysstat. ...
- Spring9:Autowire(自动装配)机制
为什么Spring要支持Autowire(自动装配) 先写几个类,首先定义一个Animal接口表示动物: public interface Animal { public void eat(); } ...
- MySQL多数据源笔记4-Mycat中间件实战
Mycat 是数据库中间件,就是介于数据库与应用之间,进行数据处理与交互的中间服 务.由于前面讲的对数据进行分片处理之后,从原有的一个库,被切分为多个分片数据库,所有的分片数据库集 群构成了整个完整的 ...
- A Proof of Stake Design Philosophy - PoS权益证明设计理念
之前在EthFans上看到了关于PoS(权益证明)的相关文章(原文链接),本着学习的态度,对这篇文章进行了翻译.第一次翻译关于区块链的文章,有些单词及句子的措辞还不是很准确,如果发现有翻译的不恰当的地 ...
- NYOJ 题目12喷水装置(二)
#include<iostream> #include<algorithm> #include<cmath> using namespace std; struct ...