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来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
随机推荐
- C# 枚举使用和对应说明获取实例
1.定义枚举 /// <summary> /// 订单状态 /// </summary> public enum OrderState { 待支付 = 1, 待处理 = 2, ...
- css文字居中、图片居中、div居中解决方案
一.文字居中 若文字只有一行 <!--html代码--> <div class="box"> <p class="text"> ...
- javaWeb事务
JDBC事务: cmd 命令上的事务开启: start transaction; / begin; 回滚 rollback; 提交 commit; JDBC事务控制: 开启事务:co ...
- 小白学爬虫-设置Selenium+Chrome代理
微博登录限制了错误次数···加上Cookie大批账号被封需要从Cookie池中 剔除被封的账号··· 需要使用代理··· 无赖百度了大半天都是特么的啥玩意儿???结果换成了 Google手到擒来 分分 ...
- class-决策树Decision Tree
顾名思义,决策树model是树形结构,在分类中,表示基于特征对实例进行分类的过程.可以认为是"if-else"的合集,也可以认为是特征空间,类空间上条件概率分布.主要优点是分类速度 ...
- Angular通过订阅观察者对象实现不同组件中数据的实时传递
在angular官方定义中,组件直接的数据交换只要在父子直接传递,但是我们在项目中经常需要在各种层级之间传递数据,下面介绍关于订阅可观察对象实现的数据传递. 首先定义一个服务app.sevice.ts ...
- js判定是否为chrome,区分搜狗+360
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【CJOJ2440】大话西游(树链剖分)
题面 Description "大话西游" 是一个在中国非常流行的在线游戏, 由 NIE 公司开发和维护. 这个游戏来源于著名的小说<西游记> 和周星弛的电影, 游戏的 ...
- 【HDU1754】I hate it!
题面 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然, ...
- Python类变量和实例变量
class TestClass(object): val1 = 100 #类变量 def __init__(self): self.val2 = 200 #实例变量 ...