javaweb入门web服务器与HTTP协议基础孤独的散步者

web服务器的大概念很广泛,但是通俗易懂的来说,就是指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。或者再简单来说,你的电脑安装了服务器软件并且连上了Internet,那你的电脑就可以说一个服务器了,对就是这么简单,并不是多么高深的知识。只不过就是性能各个方面比较低就是了。一般公司中会有个专门个性能强悍内存大的计算器安装这个服务器软件,如果有人参观过公司的机房,那么那一个个的黑盒子,就是服务器了。

大家注意到了我标红的地方,服务器软件,没错这就是我们日常开发不可避免要使用到了,开发人员开发完项目后,需要把项目配置到服务器软件上,上线了之后,用户就可以通过客户端或浏览器访问服务器中项目所在的路径,请求到他所需的资源了。

那么市面上都有些什么服务器软件呢?这里就为大家简单介绍几款作为了解:

1、Apache是世界上应用最多的WEB服务器,优势主要在于源代码开放、有一支开放的开发队伍、支持跨平台应用以及其可移植性等。Apache的模块支持非常丰富,虽在速度和性能上不及其他轻量级WEB服务器,是属于重量级产品,所消耗的内存也比其他WEB服务器要高。

3、Tomcat是一个开放源代码、运行servlet和JSPWeb应用软件的基于Java的web应用软件容器,Tomcatserver是根据servlet和jsp规范执行的,因此也可以说Tomcatserver实行了Apache-Jakarta规范,且比绝大多数商用应用软件服务器要好,但是,tomcat对静态文件和高并发的处理比较弱。

4、IBMWebSphere是一种功能完善、开放的WEB应用程序服务器,它基于Java的应用环境,建立、部署和管理Internet和IntranetWeb应用程序。相对于其他流行的WEB服务器而言,应用的数量很少。

5、IIS是一种WEB服务组件,允许在公共Intranet或Internet上发布信息的WEB服务器,其中包括WEB服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络上发布信息成了一件很容易的事情。它提供ISAPI作为扩展WEB服务器功能的编程接口,同时还提供了Internet,可以实现对数据库的查询和更新。

6、Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll、kqueue、eventport最为网络I/O模型,在高连接并发的情况下,能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。各个服务器的下载与安装教程网上非常多,没有什么难度,不过要注意的点:比如常用的tomcat服务器下载安装完成后,点击在bin目录下satrtup.bat打算启动服务器时黑窗口一闪而过?首先要注意的是tomcat运行必要有jdk环境,还有个主要原因是没有JAVA_HOME变量,打开计算机,在高级环境配置中新建一个变量名为JAVA_HOME,然后复制你电脑jdk所在的路径bin之前的内容粘贴到变量值中,然后再重新编辑Path的变量值,在开头%JAVA_HOME%\bin;添加到变量值开头即可。原理是因为在tomcat的配置文件server.xml中,需要访问名为java_home的环境路径,如果你没有配置,就会出错。

目录:bin:Tomcat运行文件lib:Tomcat需要用到的jar包conf:Tomcat运行时生成文件部署的第一种方式:webapps:存放需要运行的项目,webapps里配置动态项目必须要WEB-INF文件WEB-INF文件里必须要有web.xml文件项目导出到webapps里:项目导出导成war包,启动服务器时会自动解压war包

如果不在webapps里的项目想配置,除了把项目拷贝到webapps下

第二种方式在server.xml中的Host标签下,新建docBase属性的值:项目所在的路径path属性的值:浏览器中访问项目的名称server.xml在Tomcat文件中的conf文件夹中

第三种方式在Tomcat目录中的conf\Catalina\localhost目录下,新建xxx.xml文件浏览器中的访问该项目的名称为xxx.xml文件的名称

浏览器访问项目:协议+ip地址+端口号+项目路径+文件名。

HTTP:HyperTextTransferProtocol超文本传输协议。浏览器与服务器的协议浏览器向服务器请求,服务器对浏览器回应,之间用HTTP协议传输好比约定俗称的规定,让请求端和回应端能互相识别1.基于TCP/IP的高级协议2.默认端口号:803.基于请求/响应模型的:一次请求对应一次响应

与之对应的还有文件协议,邮件协议,再通俗的来说,大家都写过信吧?开头必须是您好xxx,正文开始要空两格,最后需要此致敬礼,xxx与xxxx年xx月xx日。这就是一种格式,也可以说一种协议,写信人与收信人间的协议,你只有这样写,我才能理解。你和外国人沟通的话,你讲中文他说他本国的语言,那样肯定是将不同的,那么就需要使用广泛的英语作为协议,大家都讲英语,都遵守英语的语法,那么两个人就可以沟通。

以谷歌浏览器Chrome为例,访问了网页,打开开发者工具点击Network,就可以清楚看到请求行General,请求头requestHeaders,响应头responseHesders的格式与内容。

客户端请求消息(request):客户端发送一个HTTP请求到服务器格式如:请求行(requestline):请求方式请求url请求协议/版本请求头部(header)请求头名称:请求头值请求空行:空行请求数据:封装post请求消息的请求参数的服务器响应消息:(reponse)状态行消息报头响应正文

请求方式:HTTP协议有7种请求方式,常用的有两种get:请求参数在请求行中,在hurl后请求的url长度是有限制的post:请求参数在请求体中请求的url长度是没有限制的

HTTP是无状态:HTTP协议是无状态协议,无状态是指协议对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传输的数据增大。另一方面,在服务器不需要先前信息时它的应答就比较快

HTTP是媒体独立的:这意味着,只要客户端和服务端知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型

User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息用处:可以在服务器端获取该头的信息,解决浏览器的兼容性问题Referer:在请求头中如果有Referer键和值,说明是从这个页面跳转过来的,用处:统计比如有百度推广的网站,从百度里点进去,Referer值就是百度网址防盗链比如有电影连接想播放电影,发现不是从优酷跳转来的,就不播放

图中红色圈出的地方以及服务端程序相比大家都有了基本的认识。那么后文将讲解黄色圈的内容,服务器是如何处理请求并且响应的呢?

THE END
1.北京大学法学院学工网招聘的岗位有:Java工程师、NLP算法工程师、Web前端开发工程师、运维工程师、UI设计师、法律产品工程师、法律知识工程师、品牌营销专员、人事助理、商务运营助理、行政助理 (一)法律专业岗位 1.法律产品工程师 (1)岗位职责: 配合产品经理开展基于大数据的法律服务产品或者独立负责产品模块的策划、规划、需求、研发跟进及...http://student.law.pku.edu.cn/tzgg/439517.htm
2....JFinal是基于Java语言的极速WEB+ORM框架,其核心设计...JAVA 极速WEB+ORM框架 JFinal JFinal有如下主要特点 Maven 坐标 以下是JFinal实现Blog管理的示例: 更多支持 JAVA 极速WEB+ORM框架 JFinal 中文 English JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的...http://git.oschina.net/jfinal/jfinal
1.基于JavaWeb的四季青敬老院系统的设计与实现临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给在家介绍一篇基于JavaWeb的四季青敬老院系统的设计与实现。 https://blog.csdn.net/mxg74110/article/details/143744469
2.基于JavaWeb的"慧农帮"扶贫网站的设计与实现JavaWeb扶贫网站网站建设公益 分类号: TP311.52(计算技术、计算机技术) 资助基金: 2020年贵州大学-大学生创新创业训练计划项目(201910657021) 在线出版日期: 2020-11-30(万方平台首次上网日期,不代表论文的发表时间) 页数: 4(66-69) [1]刘丽涛,王刃峰.基于JavaScript+jQuery的网站设计与实现[J].电脑编程技巧与维护...https://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=ranj202010016
3.基于SpringBoot的爱心慈善公益平台的设计与实现(附源码)本系统平台已经用Java编程语言和MySQL数据库成功实现开发流程。论文首先阐述了基于SpringBoot的爱心慈善公益平台的开发,然后是详细的分析了系统平台各个方面的需求,接着又详细探讨了基于SpringBoot的爱心慈善公益平台的功能需求、业务流程、数据流程、系统功能和系统设计等。希望能够充分利用这个优质的大环境,抓住机会,改变...https://cloud.tencent.com/developer/article/1951919
4.代码货栈代码货栈提供 计算机专业毕业设计项目源码,毕业设计开题报告,毕设答辩, Java毕业设计,Web毕业设计, 上千套毕业论文,论文任务书,开题报告,java,jsp,javaweb,php源码下载 源码分享,免费毕设指导代做https://cs-work.com/
5.医院网站管理制度8篇(全文)1.2 基于JAVA语言的J2EE开发平台的开发方案 J2EE开发平台提供了一种基于组件的方法来设计、开发、组装和部署企业级应用程序, 提供了一个多层次的分布式应用模型, 一些可重用的组件、一个统一的安全模型和灵活的事务控制, 并适用基于可扩展标记语言的开发标准和协议交换, 提供了web服务支持。J2EE是一种用于建立服务器方...https://www.99xueshu.com/w/filesspsnufm.html
6.springboot基于SpingBoot社区居民友爱互助小程序的设计与实现...在国内,基于Spring Boot的社区居民友爱互助小程序的设计与实现已经取得了一系列的研究成果。随着智慧城市、智慧社区建设的推进,越来越多的城市社区开始尝试利用这类小程序来提升公益服务的管理效率和居民参与度。小程序通过整合社区资源,提供信息发布、活动组织、邻里互助等功能,有效促进了社区居民之间的交流与互动。同时,...https://www.51969.com/post/19604201.html
7.协同实现(精选十篇)1 系统设计与实现 1.1 业务流程设计 当就诊者在没有能力为其做某类检验项目的医疗机构(以下简称申请方)就诊时,该医疗机构检验员将标本采集后通过第三方物流配送至有能力检验的医疗机构(以下简称受理方)进行代理检验,业务流程图如图1所示。 本流程主要实现从就诊者在申请方医疗机构就诊开始、经过预约申请检验、标识检验...https://www.360wenmi.com/f/cnkeypk6mc2m.html
8.2019计算机网络技术专业人才培养方案,荆州理工职业学院计算机网络技术专业课程体系构建的总体思路是:根据课程体系遵循学生的认知规律和职业成长规律,由易到难,由单一到复杂,系统设计基础知识和实践能力训练体系,实现知识、技能、素质的同步提高,培养学生的职业能力。具体根据典型的工作任务构建基于工作任务的学习领域总体课程体系打破原来的课程体系,结合网站前端开发工程师、网络管...http://www.jzlg.cn/zn/zy/10837.html
9.极课大数据赏析八篇1、java培训---java工程师; 2、UI培训---UI大咖设计师; 3、Android培训---安卓工程...5、Web培训---Web前端工程师; 6、HTML5培训---前端互联网工程师; 7、会计培训---主办会计师...因此,工业大数据技术和工业4.0是相互支撑的,工业4.0的实现,需要基于工业大数据技术构建设备智能,而工业大数据...https://tongxinshijie.fabiao.com/haowen/9612.html
10.库存管理系统uml7-基于SSH的婴幼儿产品销售系统的开发与设计 8-基于WEB的网上购物系统的设计与实现-ssh源码 9-网上手机销售系统-jsp 10-Java网上体育商城的设计与实现-ssh 11-基于JSP+Servlet开发高校社团管理系统 12-Java在线考试系统-ssh 13-java开发电影订票网站系统-ssh14-JavaWeb校园二手平台项目+论文-ssh ...https://www.zboao.com/cgal/9126.html
11.java毕业设计合集,毕业再也不用愁php33、基于jsp的财务管理系统与实现(项目报告+中期报告+答辩PPT+源代码+数据库+部署视频)?点击查看项目整体介绍 ?点击查看毕业论文介绍 34、基于java的搜索引擎系统毕业设计(项目报告+开题报告+答辩PPT+源代码+数据库+部署视频)?点击查看项目整体介绍 ?点击查看毕业论文介绍 35...https://blog.yyzq.team/post/314468.html
12....专业北京网站建设,北京网页制作,北京网站设计,北京网站开发...网站建设,网站设计,网站制作,北京网站建设,网站建设公司,手机网站,商城开发,物联网,h5开发,小程序定制开发,分销小程序,商城小程序,android,ios,元宇宙,公众号,软件定制,定制开发,oa,erp系统,商城app,多用户商城,社交app,视频app,短视频app,分销系统,点餐小程序,盲盒,团购http://www.wanbonet.com/
13.北京经贸职业学院适应社会能力需求自评报告同时,为了加强主干课程间的联系,打通专业技能脉络,在该专业的课程体系中,嵌入大型跨课程实训项目:“论坛系统的设计与实现”。该项目跨越“网页设计与制作”、“数据库原理与应用”、“Java程序设计”和“JEE系统设计与实现”4门课程。项目内容按照“web前端”、“数据库设计与实现”、“JDBC数据库连接”、“Java Web...https://www.csuedu.com/c77/20201027/i2362.phtml