zoukankan      html  css  js  c++  java
  • tomcat系列之一:基础巩固

    一,什么是Web容器?

    1,Http服务器
      早期的Web应用主要用于浏览新闻等静态页面,Http服务器(比如Apache,Nginx)向浏览器返回静态HTML,浏览器负责解析HTML,将结果呈现给用户。


    2,Servlet技术
      需求:为了不仅仅浏览静态页面,还希望通过一些交互操作,来获取动态结果。那么可以通过让HTTP服务器调用服务端程序来实现。
      那么服务端如何来实现这个需求呢?
        Sun公司就推出了Servlet技术。Servlet可以理解为运行在服务端的Java小程序,因为Servlet不能独立运行,所以必须把Servlet部署到容器中,由容器来实例化并调用Servlet。

    3,Tomcat就是这样的Serlvet容器。
      Tomcat可以实例化Serlvet并调用执行Servlet来处理业务逻辑。并且它也具有HTTP服务器的功能。所以,Tomcat

    就是一个 HTTP服务器 + Servlet容器。Tomcat也叫Web容器

    4,扩展:
      其他应用服务器比如JBoss,WebLogic,他们不仅有Servlet容器的功能,也包含EJB容器,是完整的JavaEE应用服务器。所以Tomcat也算是一个轻量级的应用服务器。

    5,Tomcat是SpringBoot默认的嵌入式Servlet容器,那么Springboot如何以内嵌方式运行Servlet容器的?
      应用程序(Springboot)直接调用Web容器提供的API去创建一个Web容器(HTTP服务器和Servlet容器),同时程序注册一个Servlet到Servlet 容器中,比如:SpringMVC的DispatcherServlet,这样请求到达时,Servlet容器负责调用你的Servlet。

    二,HTTP协议


    1,HTTP协议的本质
      HTTP协议是浏览器与服务器之间的数据传输协议。它是应用层协议,Http协议基于TCP/IP协议来传递数据(HTML文件,图片,查询结果等),HTTP协议不涉及数据包的传输,它主要规定了客户端和服务器之间的通信格式。
    本质:本质就是一种浏览器与服务器之间约定好的通信格式。


    2,一次HTTP请求过程


    3,HTTP请求组成
      请求行 + 请求头 + 请求体

    4,HTTP响应组成
      状态行 + 响应头 + 响应体


    5,HTTP/1.0和HTTP/1.1区别
    HTTP/1.0时期,每次HTTP请求都会创建一个新的TCP连接,请求完成之后这个TCP连接就会被关闭。但是这种通信模式效率太低。

    HTTP/1.1时期,使用长连接的HTTP协议,会在响应头加入Connection:keep-alive。当浏览器完成一次请求后,浏览器和服务器之间TCP连接不会关闭,再次访问这个服务器上的网页时,浏览器会继续使用这一条已经建立的连接,也就是说两个请求可能公用一个TCP连接。

    6,HTTP协议是无状态的,如何理解?

    无状态:不同请求之间没有内容上的依赖关系,本次响应也只是针对本次请求的数据。
    keep-alive表示tcp连接可以复用,指的是利用已有的传输通道进行http协议内容的传输,省去了创建/关闭连接的开销,达到提升性能的效果。应用程序不关心一次HTTP请求的TCP传输细节,只关心HTTP协议传输的内容。所以只要复用tcp连接时做好数据重置,就不算有状态的。

    7,Resetful风格的无状态
    首先REST是一种架构风格:把网络上的信息实体看做是资源(可以是图片,文件,一个服务....),资源用URI统一标识(URI中没有动词)。如何操作这一资源呢?我们可以定义一些动作:GET,POST,PUT,DELETE。通过URI+动作 来操作一个资源。
    无状态是指:为了完成一个操作,请求里包含了所有信息,而服务端不再需要保存请求的状态(不需要保存session).没有了session,服务端可以有良好的伸缩性。

  • 相关阅读:
    HDU 5585 Numbers
    HDU 3308 LCIS
    POJ 2991 Crane
    POJ 1436 Horizontally Visible Segments
    POJ 3667 Hotel
    HaiHongOJ 1003 God Wang
    【SDOI 2008】 递归数列
    5月19日省中提高组题解
    【HDU 1588】 Gauss Fibonacci
    【POJ 3233】Matrix Power Series
  • 原文地址:https://www.cnblogs.com/inspred/p/10902441.html
Copyright © 2011-2022 走看看