web容器

Web协议详解与抓包实战

我们两清 提交于 2019-12-01 19:10:01
我发现大部分技术人,多多少少都会遇到下面的困惑,比如: AJAX 跨域访问时总被浏览器的同源策略阻止,其背后的原理及符合其设计思想的解决方案是什么? 缓存可以提升性能,但什么样的 HTTP 消息才会被浏览器或者代理服务器缓存呢? 抓包时收到 4xx 或者 5xx HTTP 响应码,这意味着服务器端发生了什么? 当我们维护 HTTPS 连接时,如果要优化TLS/SSL 的卸载性能,应该从哪里入手? 定位问题时,发现本地的 TCP 连接状态中出现了FIN_WAIT、CLOSE_WAIT 或者TIME_WAIT,都是什么原因引起的?应该如何解决? 想要提升 TCP 连接的传输速度,可服务器上相关的系统参数多达数十个,究竟该怎么调整? 时下逐渐普及的 IPv6 ,在报文上到底与 IPv4 协议有何差别? 你会发现,这些问题其实都和 Web 协议密切相关。我常常听到身边人抱怨“学不动了”,之所以会这样,大多是因为没有掌握好互联网体系中的底层知识。这些知识点相对稳定,而其他时刻变化的知识点是构建在这些知识点之上的。一旦掌握好,就可以长久使用,并且保持快速学习的能力。 Web 协议就是其中非常重要的一个模块。虽然它常常要兼容 internet 中非常古老或者有着突破性创新的浏览器或者服务器,从而也在时刻进化,但只要我们抓住它设计时背后的指导原则,系统地将 Web 协议转化为我们头脑中的结构体知识

深度长文回顾web基础组件

左心房为你撑大大i 提交于 2019-12-01 18:58:49
摘自: https://www.cnblogs.com/ZhuChangwu/p/11712899.html 深度长文回顾web基础组件 什么是Serlvet ? 全称 server applet 运行在服务端的小程序: 首先来说,这个servlet是java语言编写的出来的应用程序,换句话说servlet拥有java语言全部的优点,比如跨越平台,一次编译到处运行 其次: 相对于CGI(common gateway interface)规范而言,CGI是针对每一个用户的请求 创建一个进程处理 ,而servlet所在的服务器会对每一个请求 创建一个线程 来处理,虽然线程数量有上限,但是相对于创建进程来说,后者对系统资源的开销更小 然后就是: 现在盛行javaWeb服务器Tomcat也是java语言编写的,毕竟Tomcat有Serlvet容器支持,所以servlet和web服务器之间无缝连接 Servlet其实一个接口,一套规范,不同的厂家对它有不同的实现,tomcat也是如此, web服务器会把解析http协议信息的逻辑封装进他们的Servlet中,比如将用户发送的请求(request) HttpRequestServlet , 把响应给用户http报文的逻辑封装进 HttpResponseServlet 中, 然后web服务器负责不同组件,不同servlet之间的调度关系,

深度长文回顾web基础组件

ぐ巨炮叔叔 提交于 2019-12-01 18:48:50
什么是Serlvet ? 全称 server applet 运行在服务端的小程序: 首先来说,这个servlet是java语言编写的出来的应用程序,换句话说servlet拥有java语言全部的优点,比如跨越平台,一次编译到处运行 其次: 相对于CGI(common gateway interface)规范而言,CGI是针对每一个用户的请求 创建一个进程处理 ,而servlet所在的服务器会对每一个请求 创建一个线程 来处理,虽然线程数量有上限,但是相对于创建进程来说,后者对系统资源的开销更小 然后就是: 现在盛行javaWeb服务器Tomcat也是java语言编写的,毕竟Tomcat有Serlvet容器支持,所以servlet和web服务器之间无缝连接 Servlet其实一个接口,一套规范,不同的厂家对它有不同的实现,tomcat也是如此, web服务器会把解析http协议信息的逻辑封装进他们的Servlet中,比如将用户发送的请求(request) HttpRequestServlet , 把响应给用户http报文的逻辑封装进 HttpResponseServlet 中, 然后web服务器负责不同组件,不同servlet之间的调度关系, 什么是调度呢? 比如说: 通过某个URL找到指定的Servlet,回调Servlet的 service() 方法处理请求

Spring 面试

梦想与她 提交于 2019-12-01 18:46:19
目录 Spring 面试问题 TOP 50   1. 一般问题   2. 依赖注入(Ioc)   3. Beans   4. 注解   5. 数据访问   6. AOP   7. MVC   8. 资料 Spring 面试问题 TOP 50 Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢?不妨用本文的问题来检测一下。 本文内容主要翻译自 Top 50 Spring Interview Questions You Must Prepare In 2018 1. 一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年。这是第一个支持注解的版本。 Spring 3.0 发布于 2009 年。它完全利用了 Java5 中的改进,并为 JEE6 提供了支持。 Spring 4.0 发布于 2013 年。这是第一个完全支持 JAVA8 的版本。 1.2. 什么是 Spring Framework? Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。 它是轻量级、松散耦合的。 它具有分层体系结构,允许用户选择组件,同时还为 J2EE

comet学习(一)异步Servlet 与Comet 风格应用程序(转)

牧云@^-^@ 提交于 2019-12-01 17:18:17
简介 : 自 JSR 315 规范(即Servlet 3.0)的草案公开发布以来,最新一代Servlet 规范的各种新特性被越来越多的 开发人员所关注。规范中提到的一系列高级目标:如可插拔的Web 框架、便捷开发特性、增强安全性支持等都令人期 待。但其中关注程度最高的,毫无疑问是异步Servlet。本文将详细介绍Comet 风格应用的实现方式,以及Servlet 3.0 中的异步处理特性在Comet 风格程序中的实际应用。 概述 作为 Java EE 6 体系中重要成员的JSR 315 规范,将Servlet API 最新的版本从2.5 提升到了3.0,这是近10 年来 Servlet 版本号最大的一次升级,此次升级中引入了若干项令开发人员兴奋的特性,如: 1. 可插拔的Web 架构(Web framework pluggability)。 2. 通过Annotations 代替传统web.xml 配置文件的EOD 易于开发特性(ease of development)。 3. Serlvet 异步处理支持。 4. 安全性提升,如Http Only Cookies、login/logout 机制。 5. 其它改进,如文件上传的直接支持等。 其中,在开源社区中讨论得最多的就是Servlet 异步处理的支持,所谓Servlet 异步处理,包括了非阻塞的输入/输 出、异步事件通知

云计算openstack共享组件-Memcache缓存系统(2)

让人想犯罪 __ 提交于 2019-12-01 16:18:31
一、缓存系统 一、静态web页面: 1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。 2、为了让静态web页面显示更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。)但是这些特效都是在客户端上借助于浏览器展现给用户的,所以在服务器上本身并没有任何的变化。 3、静态web无法连接数据库; 4、静态web资源开发技术:HTML; 5、由于现在的web页面中,大量使用JS,导致浏览器打开页面,就会占用大量的内存,服务端的压力是减轻了,但压力转移到了客户端。 二、动态web页面: 1、动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Request)

SpringMvc基础知识

天大地大妈咪最大 提交于 2019-12-01 13:17:36
1.SpringMvc是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框 架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是 DispatcherServlet; 应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含 ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 2.Spring Web MVC 能干什么 √让我们能非常简单的设计出干净的Web层和薄薄的Web层; √进行更简洁的Web层的开发; √天生与Spring框架集成(如IoC容器、AOP等); √提供强大的约定大于配置的契约式编程支持;

JSP

◇◆丶佛笑我妖孽 提交于 2019-12-01 11:41:30
二、 JSP 1. JSP 简介 * 什么是 JSP? 1. JSP(Java Server Pages,即:Java 服务器页面),是一种跨平台的动态网页技术标准,由 Sun Microsystems 公司倡导、多家公司参与建立。它在 HTML 文件中插入 Java 程序段(Scriptlet) 和 JSP 标签(tag),从而形成 JSP 文件(*.jsp) 2. JSP 本质上是一种简化的 Java Servlet,主要用于实现 Java web 应用程序的用户界面部分 3. 一次编写,到处运行:用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行 4. JSP 标签通常以 "<%" 开头,以 "%>" 结束 5. JSP 标签有多种功能,比如访问数据库、记录用户选择信息、访问 JavaBeans 组件等,还可以在不同的网页中传递控制信息和共享信息 6. JSP 编译过程包括三个步骤: 1)解析 JSP 文件 2)将 JSP 文件转化为 Servlet(这种转化只是简单地将所有模板文本改用 println() 语句,并且将所有的 JSP 元素转化成 Java 代码) 3)将 Servlet 编译成可执行类 注意:编译是直接将编写的代码从一种语言翻译为另一种更低层级语言的过程;而转译是将代码从一种语言翻译到另一种同层级语言的过程*

java Web发布的两种方式

混江龙づ霸主 提交于 2019-12-01 10:28:14
一种是直接调用API: Endpoint.publish("http://192.168.14.117:8888/java6ws/Java6WS", new Java6WS()); Endpoint.publish是一个后台线程,一旦发布了就会一直等待处理Web服务的请求,只有当main方法退出,或者容器关闭的时候,才自动退出。(Endpoint.publish方式是使用java自带的api进行WebService项目的开发,不需要使用web容器如tomcat等) 第二种是Servlet方式,通过Servlet来和容器绑定起来,在容器启动的时候发布服务,当然需要使用web容器如tomcat 来源: CSDN 作者: fourierr 链接: https://blog.csdn.net/qq_34562093/article/details/82906741

web动态站面试题

元气小坏坏 提交于 2019-12-01 09:45:23
1.简述 tomcat 的启动过程? 答:Tomcat 启动——> 读取自己的 server.xml——>根据 Context 标签的内容找到项目目录、 项目入口 path——>读取项目的 web.xml 配置——>获得首页、session 失效时间等信息 2.为什么修改了 server.xml,web.xml 服务器需要重启? 答:因为服务器必须重启才能再次读入配置文件的新内容 3.Session 由谁产生的?是什么时候产生的? 什么时候结束?在整个过程中 sessionID 是否变化? 答:由服务器产生的 4.在整个访问过程中 sessionID 是否变化? 答:没有,一旦建立了会话,sessionid 在整个生命周期内不变http 是无状态的,为了解决无状态的问题,我们跟服务器维持对话有哪些方式? 答:session,cookie 5、简述 http 的特点? a.无状态:一次会话完成后,会话结束,连接断开,下次访问再次建立新的会话 b.常用方法:get,post(再说说每个方法的特点) c.返回状态:200,404,403,500 6.如果不使用 session 而是单独使用 cookie 能够完成整个访问过程? 答:可以,但不安全。 7.描述 cookie 从创建到发送到客户端的过程? 答:1.创建(new Cookie(key,value)方法)、 2.设置生命周期