中南大学论坛

 找回密码
 注册(开放注册)
搜索
查看: 10895|回复: 0

新梦想干货分享——传说中的HTTP协议(二)

[复制链接]
发表于 2019-3-8 17:13:17 | 显示全部楼层 |阅读模式

各位亲,好久不见,长肉肉了没有,学习了没有,说好的新梦想干货分享今天终于弄出来了!!!


上次我们说过了HTTP协议的历史,看到了HTTP协议的演进过程。我们今天重点说的是HTTP协议的1.1版本。

HTTP协议用于客户端和服务端之间的通信。HTTP协议能够非常明确的区分哪端是客户端,哪端是服务端。


那什么是客户端,什么是服务端呢?两台机器之间进行通信,请求访问文本、图片或视频等资源的是客户端。提供文本或者图片等资源的就是服务端。HTTP协议规定通信一定是从客户端开始的,客户端发出请求信息,服务端响应该请求并返回响.


HTTP协议的特点:

特点一:简单快速

使用HTTP协议时,客户向服务器请求服务,只需传送请求方法和路径。每种方法规定了客户与服务器联系的类型不同。因为它比较简单,所以速度就比较快啦!



HTTP请求的方式有很多:



特点二:灵活

现在主流的HTTP1.1版本可以允许传输的数据类型有很多种,数据类型由请求头中的content-type字段进行标记。这一点在上一篇文章中已经提到过了,就不再重复了。



特点三:无连接

所谓无连接的意思是每次连接只处理一个请求,服务器处理完一个请求,在收到客户端的应答后就会断开连接。一个页面有文字还有很多的大小图片和其它的内容。脑补一个画面:当你刷朋友圈的时间,朋友们发那么多的九宫格图片,每处理一个图片,就要重新连接一次服务器,处理一次连接如果花0.5S。如此,你只怕会放弃看朋友圈的习惯了。


特点四:无状态

HTTP协议自身不保留之前所有通信的请求和响向的信息,这么做的目的是为了快速的处理大量的事务。但是随着web技术和业务的发展,不保留状态是非常麻烦的事 情。比如:你打开淘宝进行购物的时候,登陆完后。当你点击进入其它付款页时, http协议并没有保留你的登陆状态,又要求你重新登陆。如此重复操作。就会让 用户使用web系统时感到脑袋痛了。为了解决这个问题,引入了Cookie技术,这样就可以管理状态了。



Cookie机制

cookie??饼干??才刚过完年,不要尽想着吃。Cookie是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。

Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie 的首部字段信息, 通知客户端保存 Cookie。



上图表示抓取的是第一次访问网站的请求头部和响应头的内容,很明显示在请求头中没有cookie信息,而在响应头中则出现了set-cookie字段。

当下次客户端再往该服务器发送请求时, 客户端会自动在请求报文中加入 Cookie 值后发送出去。服务器端发现客户端发送过来的 Cookie 后, 会去检查究竟是从哪一个客户端发来的连接请求, 然后对比服务器上的记录, 最后得到之前的状态信息。



上图中进行第二次请求时,则在请求头中出现了cookie,与第一次响应头中要求要客户端保存的字段是一致的。都是一个PHPSESSID的字段值。


SESSION机制

不知道有没有人好奇这个PHPSESSID是什么东西呢 ?刚刚说过的cookie是用来保存用户状态的一种机制,但是cookie是可以在客户端被人为禁止使用的。这个时候用户信息可能没有办法被保存下来。那就只能让服务器端来保存用户状态,这就可以使用session机制了,它是一种在服务器端保存状态的机制。

当用户使用客户端发起一个请求时,服务端就会去检查这个请求中是否包含了session标识---也就是session ID。如果包含了,则说明之前客户端已经创建过请求,服务端则去文件或者数据库中把session id检索出来进行使用,如果检索不到,则需要创建一个新的session id了。如果客户端没有session id,则需要为这个请求创建一个session id。

Session id 有个很大的特点是没有规律,不会重复,这样很难被模仿。Session id一般的时候会被存在cookie中的。如果cookie被禁用了,可以在url地址中被带回给服务端。

至于session 机制更深的了解,大家可以再去找相关资料进行了解哦,或者下次可以写一篇session相关的文章也行啊。

下次再见哦!!!


您需要登录后才可以回帖 登录 | 注册(开放注册)

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

小黑屋|手机版|Archiver|中南大学论坛 ( 琼ICP备10001196号-2 )

GMT+8, 2024-3-28 21:47 , Processed in 0.090003 second(s), 15 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

快速回复 返回顶部 返回列表