服务器的功能有哪些,简述服务器的种类及作用

回想一下一个http请求的过程,你在浏览器输入xxx.com,经过域名解析–>发起tcp的3次握手–>建立tcp连接后发起http请求–>服务器响应http请求,浏览器得到html代码–>浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)–>浏览器对页面进行渲染呈现给用户。 每一个web服务器程序都需要从网络接受http请求,然后提…

回想一下一个http请求的全过程,你在浏览器输入xxx.com,通过域名解析 –> 进行tcp的3次挥手 –> 创建tcp连接后进行http请求 –> 网络服务器回应http请求,浏览器获得html代码 –> 浏览器分析html代码,并请求html代码里的网络资源(如js、css、照片等) –> 浏览器对网页页面开展3D渲染展现给使用者。

简单web服务器的实现思路

每一个web服务器程序流程都要从网上接受http请求,随后给予http回应给请求者。http回应一般包括一个html文件,有时候还可以包括纯文本文档、图象或其他类型的文档。

旁白:web服务器就是一个解决http请求的应用软件。

完成大概流程:

  • 复位服务器端ServerSocket
  • 复位TreadPool
  • while(true)等候手机客户端联接
  • <<服务器启动进行>>
  • 手机客户端请求
  • clientHandler解决手机客户端的请求
  • 线程池的进程解决handler
  • 依据输入流分析请求(分析请求行,分析信息头,分析信息文章正文)
  • 依据输出流建立回应目标(推送情况行信息内容,推送回应头信息内容,推送回应文章正文信息内容)
  • <<静态数据html解决完毕>>
  • 找寻servlet 依据请求途径寻找必须哪一个servlet处理(挑选handler)
  • 根据反射机制载入这一类
  • 创建对象servlet
  • servlet处理请求(实行handler完毕)
  • <<自动跳转html解决完毕>>

一个应用软件是否需先运行下去?main函数当然要有,init方法自然有,人们先无论性能卓越之类的物品,时分复用Reactor之类的,可是总体有解决高并发水平吧,线程池尺寸默认设置Cpu的核心数,多的是也解决不过来!网络服务器通讯说到底都是socket通讯,包含redis服务端全是最底层都是socket通讯。大家如何判断http请求来啦,先长轮循。

private ServerSocket server;
private ExecutorService threadPool;
public WebServer() {
try {
System.out.println(\"init server begin\");
server = new ServerSocket(8080);
int poolSize = Runtime.getRuntime().availableProcessors();
threadPool = newFixedThreadPool(poolSize - 1);
System.out.println(\"init server end\");
} catch (Exception e) {
e.printStackTrace();
}
}
public void start() {
try {
while (true) {
//TODO
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
WebServer server = new WebServer();
server.start();
}

http请求来啦,怎么处理?自然要有界定handler去解决。

 Socket socket = server.accept();
ClientHandler handler = new ClientHandler(socket);
threadPool.execute(handler);

handler解决手机客户端请求并进行回应:

private class ClientHandler implements Runnable {
private Socket socket;
public ClientHandler(Socket socket) {
this.socket = socket;
}
public void run() {
try {
//依据输入流分析请求
HttpRequest request= new HttpRequest(socket.getInputStream());
//先分辨客户请求的是不是为后端请求
if (ServerContext.servletMapping.containsKey(
request.getRequestLine())
) {
//根据反射机制载入这一类
//创建对象这一Servlet
} else {
//查询请求的该网页页面存不存在,存有立即自动跳转
} else {
//设定情况编码404等,自动跳转404网页页面
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
socket.close();
}
}

解决来的请求当然要依据输入流分析请求,依据输出流建立回应目标。必须分辨是否后面请求,要不是后面请求,必须寻找相匹配的文档,设定回应头,设定回应体,回到给浏览器,找不着则回到404。假如是后面请求必须通过servlet,咱们毫无疑问必须根据请求途径寻找相匹配的环境变量,大家配备可以放在xml里边,还可以放进map里边,根据反射机制载入某一类,随后创建对象某一servlet,解决完设定请求头,设定请求体回到给手机客户端。

知识要点:IPO实体模型。

一个简单web服务器的构思早已基本上拥有,可是为什么springboot运用不用你独立运行网络服务器?springboot默认设置应用了 Tomcat 做为嵌入的网络服务器。因此,大家构建一个工程可能变的特别的简易。springboot运用会自动启动一个内嵌的Tomcat网络服务器案例,对于怎么做到全自动的,你问过自身为什么吗?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年7月24日 下午3:14
下一篇 2022年7月24日 下午3:18

相关推荐

  • 义乌摆地摊的地方有哪些,义乌摆摊生意最好的3个地方

    说起夜市几乎每个大小城市都有,大到省会城市,小到小县城。夜市经济带动了很多就业机会,也带动了很多批发商的生意,从而带动了批发市场的兴旺,还带动了当地的住房租赁,给当地房东带来了不菲的房租收入,(基本上夜市摆摊的人,都是外地的,他们需要租房子)。同时夜市摊位费也是一笔不小的数目,夜市给当地带来了具大的经济效益。 小商品海洋,购物者天堂的义乌市,夜市非常的多,几乎每个小区都有夜市。大的夜市由当地社区管…

    2022年8月30日
    1360
  • 电商平台有哪些,国内知名电商平台排名

    个人推荐做跨境电商,为什么;投资小(无需囤货)、市场大(全球开店)、利润高(赚汇率差)、易操作(搬运铺货);我自己也在做,现在运营的二十多家店铺,平均每月每店铺纯收入20000左右,利润也在50%以上。做跨境电商不需要打广告,开直通车等等,依托于平台给的流量扶持,ERP系统辅助,大批量的来选品上货铺货,前期的运营,主要就是在于三大点:选品,listing优化,上货数量,这三点直接就取决了你店铺的订…

    2022年7月20日
    630
  • 怪兽共享充电宝芯片破解(怪兽充电宝合作模式)

    一个企业的创立往往和创始人的经历或者遭遇相关。 因为租房受骗,左晖自己干中介,创立了链家及贝壳;美团进军酒店的一个原因也是一位负责人在回到老家县城之后订不到酒店;胡玮炜因办卡的值岗亭关门,没办法租到自行车,创立了摩拜······ 同是共享经济的怪兽共享充电宝,诞生也源自一段糟心的经历。 2017年初,刚刚卸任Uber相关职务的蔡光渊在上海静安寺附近办完事,准备打车回家时,发现手机没电了,他找了不下…

    2022年5月11日
    5100
  • 华为年利润是多少,与苹果的市值相差多少

    众所周知,亚马逊的创始人贝索斯是当今的世界首富,财富总额超过了1300亿美元。 值得一提的是,且长期占据华人首富的地产大亨的李嘉诚,马云,马化腾等,内地富豪所超越。这也说明了互联网行业的造富能力已经超越了地产行业。 那么许多人都很好奇,作为国内科技行业,首屈一指的任正非,他到底有多少财富呢? 众所周知,任正非创办的华为,是一家非常成功的企业。华为是国内首家营收超过1000亿美元的民营企业,连续5年…

    2022年8月28日
    680
  • 企业策划方案怎么写,公司企业策划书模板

    相信不少做过运营的同学都有过写策划方案的艰难痛苦时刻吧, 抓耳捞腮不知道怎么把方案写下去。今天,结合自己在运营工作中的经验以及平常的学习,分享一篇关于营销策划方案如何撰写的思路。可以肯定的是,灵感不是一时迸发出来的,事实上策划方案的撰写是需要自己平时在工作生活中的大量学习和不断积累。 简单的总结归纳了一下,策划方案主要从以下几个大方向去思考: 1、活动主题 首先明确立意,要制定一个目标跟方向。就和…

    2022年8月3日
    410
  • 绝地求生如何改名字,绝地求生免费改名方法

    绝地求生大逃杀可以改名字吗?再重新改名字怎么弄呢? 第一次建立名字时候很多玩家后悔了想重新改名字,然而并不能重新改名字。 不过可以换角色改性别。 有人问怎么换角色?每次需要3000币,才可以重新更换角色。每局玩完都会根据你排名以及击杀数给予币奖励。基本玩几小时就够了3000了。

    2022年7月5日
    740
  • 乐视2手机参数配置(乐视2手机电池型号)

    先前已经介绍过乐2手机的外观和系统以及指纹识别了,作为一款合格的手机还应该拥有较强的配置和丰富的拍摄模式。乐2手机搭载了X20十核处理器,主频为2.3GHz,内置3GB内存+32GB存储的“双3”组合,确保了多任务的处理和更多资源的存放,千元手机中配置比较出众。 在安兔兔最新版V6中跑分超过9w分,运行中以高性能模式进行,常规下手机是进行降频处理确保低功耗,其配备的3G内存也让分数有了些提升,多任…

    2022年5月12日
    780
  • 企业三证合一是哪三证,营业执照三证合一办理流程

    “三证合一”营业执照面世我市全面推行“三证合一、一照一码”登记模式,昨核发“一照一码”营业执照36份 昨日,市民黄女士领到了市工商局核发的首份“三证合一”新版营业执照。《东江时报》记者方炳徐摄 三证合一一照一码 “三证合一、一照一码”改革是指将企业登记时依次申请、分别由工商行政管理部门核发工商营业执照、质量技术监督部门核发组织机构代码证、税务部门(包括国税和地税部门)核发税务登记证,并分别编号,改…

    2022年6月8日
    930
  • 微信怎么查看以前的聊天记录,手机查看以前聊天记录的方法

    在每一个人的微信中,都会积累很多的聊天记录。微信聊天记录也在不断的被刷新,当我们想要的查的时候,有没有方便好用的方法呢?当然如果由于聊天记录过多,就顺手删除了一部分,我们需要查的正好是那一部分,有该怎么办呢?聊天记录还能查到吗? 当你想要查看微信聊天记录,而这个记录恰好已经被删除了,那么正常的方式是无法查找到聊天记录的,我们需要恢复后查看…… 互盾苹果恢复大师交给你最实用的方法,查看、恢复~ 下载…

    2022年7月14日
    540
  • 医院营销策划怎么做,2019最新医院全套营销策划方案

    民营医院经营管理做好营销的方法有很多,但不是每一种都很适用,梅奥国际现在为大家介绍常见的10种提高医院效益的手段。 第一个手段:专家坐诊 专家是树立权威形象的好代表。 中国人素有迷信权威的传统,只要一贴上专家的标签,大白菜也能卖上龙舌兰的价格。 医院里挂号也要分出一个专家号,生生高出一个价码来,虽然是一样看个感冒。 所以在医疗市场推广上打专家牌,是常用的有效的手法之一。 在门诊推广上,专家的影响力…

    2022年5月20日
    610

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信