初识HTTP协议(二)

1.HTTP是无状态协议,HTTP协议自身不对请求和响应之间的通信状态进行保存。

比如说客户端给服务器发送了请求,但得到响应之后这个请求不会被保存,也就是说

你必须再请求一次才能得到对应的响应,但是随着Web的不断发展,因无状态而导致

的业务处理变得棘手的情况增多了。比如用户登录到一家购物网站,当他跳转到该站

的其他网页后也应该继续保持登录状态,所以网站为了能够掌握是谁送出的请求,

需要保存用户的状态。

这个时候,Cookie技术出现了,它能够实现保持状态的功能。(这个后面说)

请求的方法有以下几种:

1.get:获取资源

2.host:传输实体主体,比如我们要模拟登陆的时候,可以用post请求

3.put:传输文件

4.delete:删除文件

5.options:询问支持的方法


2.最开始的HTTP协议

在HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接,对于当时来讲因为都是在进行

一些容量很小的文本传输,所以还好。但是等到HTTP发展起来后,文档中包含大量图片的情况变多了,

也就是说,我们再发送请求访问HTML页面资源的同时,也会请求该HTML页面里包含的其他资源。因此,

每次的请求都会造成无谓的TCP连接建立和断开,增加通信量的开销。

这个时候,为了解决这种问题,持久连接出现了。(HTTP Persistent Connections,

也成为HTTP keep-alive)持久连接的特点是,只要任意一端没有明确提出断开连接,

则保持TCP连接状态。持久连接减少了重复建立和断开所造成的额外开销,减轻了服务器端的负载。而且减少开销的那部分时间使得HTTP请求和响应能够更早地结束,这样也导致了Web页面的显示速度得到了提高。


3.Cookie

在上面我们说到Cookie是为了保持状态才出现的一种技术,那么具体过程又是怎么样的呢。这里只做简单介绍(因为细节我也还没看到,不好意思哈哈哈,这里只作个人理解)

在客户端发送请求报文的时候,如果请求报文里面没有Cookie,那么当服务器响应时,响应报文里面会添加set-cookie,并发送回给客户端,客户端通过响应报文将里面的set-cookie转换成cookie.txt,并保存在内存或者硬盘里面,这个时候,当我们再次访问某个网站时,我们的请求报文里面就会包含Cookie信息。就好比我们登陆一个网站后,当我们点击这个网站的另一个链接的时候,我们相当于发出了一个请求,但是这个请求里面会包含cookie信息,在这里代表我们的登陆信息比如账号密码,这个请求报文发送过去后服务器会检查是从哪个客户端发送过来的,然后进行匹配,如果匹配成功,我们进入另一个网页的时候讲仍然是登陆状态。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值