zoukankan      html  css  js  c++  java
  • 服务器和客户端的理解

    服务器:接受请求,"读取“数据(从请求中读取需要的处理数据,从储存位置读取相关需要加工的数据...)、处理数据(逻辑加工),并将新的变更数据”写入“某个储存位置(例如:本地内存,缓存,数据库...),向客户端响应本此处理结果。

    1.读取/写入:因为需要优化提高效率的缘故:会衍生出来并发,异步,其中异步需要逻辑的配合,而并发需要相关的技术(锁,队列)去处理。

    2.储存位置:因为需要优化提高效率:通常会将频繁读写的数据分别储存,顺序由:二级缓存(本地内存) -> 一级缓存(redis等) -> 持久化存储(数据库),因为数据生命周期的问题需要逻辑配合,例如临时数据和持久化数据。

    3.具体逻辑:需要根据具体业务去编码,同时需要配合以上两部分进行。

    客户端:收集用户请求信息发送到服务器,等待服务器处理完成后将结果展现给客户。

    流程:客户端实际逻辑 -> 请求发出者(浏览器,某个框架...) -> 请求接受者接受者(Tomcat服务器 ...服务器) -> 服务器具体逻辑

    1.客户端实际逻辑:页面的布局显示,使用的请求协议。

    2.请求发出者:当需要发出请求时,会将请求协议进一步完善,例如使用的http协议的话会将消息报头等的内容进行自动填充,然后发送给服务器

    3.请求接受者:例如服务器使用的是Tomcat,此时Tomcat会将请求信息进行解析并封装成request和response对象传入service方法中,有具体继承httpServlet的Servlet类来处理。

    4.服务器的具体逻辑:当Servlet(别名:Controller)类接受到服务器下发的请求时分配到具体的逻辑进行处理并响应结果。

  • 相关阅读:
    Jmeter csv文件进行参数化的两种方法
    Jmeter逻辑控制器: If控制器的解读
    Selenium问题集锦
    Jmeter BeanShell
    Jmeter进行接口流程测试
    服务器上部署Struts2的web项目报struts-default.xml:131:154的解决方法
    jmeter用Windows电脑分布式部署
    JMeter-一个接口的返回值作为输入传给其他接口:设置全局变量和非全局变量
    Flutter调研-Flutter基础知识、安装与demo
    MAC上安装maven以及配置Intellij IDEA
  • 原文地址:https://www.cnblogs.com/li-yan-long/p/10722139.html
Copyright © 2011-2022 走看看