计算机网络 服务端的应用层

客户端的请求消息经过层层处理到达应用层,应用层所获得的就是与客户端应用层所看到的请求消息的样子.这时应用程序就可以根据http协议的规定,来解读这个请求消息的内容.处理其中的信息后,服务端的应用程序就需要开始制作响应消息.
响应消息与请求消息的思路大体相同.
响应消息的第一行记录的是状态码和响应短语.
状态码记录的是请求的执行状态.比如请求消息请求的是index.html的网页文件,那么状态码就会显示这个网页文件是否存在.
在这里插入图片描述
<消息头>中也是记录了与交互内容无关,与建立交互有关的内容.
<消息体>中则含有网页文件
但是如果你了解Web网站的知识的话,一定会想到,我们的网页.html文件中往往还有图片路径对图片的引用,而图片数据实际上是不存在于html中的,是在.html文件所在文件夹中的.那么这些图片如何被我们看到的呢.当然可能还有.css,.js等文件
我们的浏览器在接收到响应消息之后,发现有这些图片链接,那么就会向服务端再次发送请求信息,请求这些图片数据.所以网很卡的时候,我们先看到了一堆字,然后样式,图片这些东西才显现出来.
下面附上客户端应用层和服务端的应用层交互的一个具体实例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在应用层中也不得不谈Cookie这样技术了
概述 : 我们知道http是无状态的协议(
无连接协议 : 虽然HTTP使用了TCP协议来保证数据传输时的可靠性,但HTTP是无连接的协议,这意味着通信的双方在交换HTTP报文之前,是不需要建立HTTP连接的
  无状态协议 : 可以理解为,服务器并不会记录客户端的状态,这个状态包含了是否曾经发送过相同的请求,举个例子,当同个客户重复发送给同一个服务器同样的请求内容,服务器会重复发送相同的响应给客户),
  但我们可以发现,往往我们在登入页面,网页会自动的记录我们曾经输入过的账号密码,又或者当我们搜索淘宝时,很多时候淘宝会推荐我们最近在搜索的商品,明明是无状态的HTTP协议却可以记住用户曾经的信息,这个背后就是因为有了Cookie, 浏览器可以透过万维网使用Cookie来记住服务器和客户之间的状态信息。

工作原理 :

当现在有一浏览器A浏览某个使用Cookie的网站服务器B时,B就会先为A产生一个唯一的识别码,并在后台的数据库中产生一个项目用来记录这个识别码
接着在HTTP响应报文的首部行中,添加一个叫作Set-cookie的首部行(ex : Set-cookie : 31d45978787e07aad42)
当A收到HTTP响应报文后,就会在负责管理Cookie的文件夹中,记录B的主机名以及这个唯一的识别号
下一次A在访问B时,每发送一个请求时,A会将Cookie以及该识别号加入到请求报文中的首部行(ex : cookie : 31d45978787e07aad42)
接着该网站的服务器B就可以继续追踪A的状态信息.
cookie可能存在于客户端也可能存在于服务器端.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值