1. 首页
  2. 综合百科
  3. web服务器怎么配置(免费个人web服务器推荐)

web服务器怎么配置(免费个人web服务器推荐)

简介:关于web服务器怎么配置(免费个人web服务器推荐)的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

回想一下http请求的过程。你在浏览器中输入xxx.com,域名解析后——发起tcp的三次握手——建立tcp连接后发起http请求——服务器响应http请求,浏览器获取html代码——浏览器解析html代码,请求html代码中的资源(如js、css、图片等。)浏览器渲染页面并呈现给用户。

每个web服务器程序都需要接受来自网络的http请求,然后向请求者提供http回复。Http回复通常包含一个html文件,有时也可以包含纯文本文件、图像或其他类型的文件。

画外音:web服务器是处理http请求的应用程序。

实现大致步骤:

初始化服务器服务器套接字初始化线程池while(true)等待客户端连接到服务器并启动它。客户端请求clienthandler处理客户端的请求线程池的线程处理处理程序。根据输入流解析请求(解析请求行,解析消息头,解析消息体),根据输出流创建响应对象(发送状态行信息,发送响应头信息,发送响应体信息)静态html处理结束根据请求路径找到servlet(选择处理程序)通过反射机制加载此类实例化servlet处理请求(执行处理程序结束)跳转到html处理结束。是否应该先启动一个应用程序?当然,main函数应该可用,init方法应该可用。让我们忽略诸如高性能和多路复用反应器之类的东西,但是我们可以处理一般的并发性。线程池大小默认为处理器的核心数,我们处理不了更多!服务器通信归根结底是socket通信,包括redis服务器,是底层和socket通信。我们怎么知道http请求来了呢?先投票吧。

私有服务器套接字服务器;私有ExecutorService线程池;public web server(){ try { system . out . println(' init server begin ');server=new server socket(8080);int poolSize=Runtime.getRuntime()。available processors();thread pool=newFixedThreadPool(poolSize-1);System.out.println('init服务器端');} catch(Exception e){ e . printstacktrace();} } public void start(){ try { while(true){//TODO } } catch(Exception e){ e . printstacktrace();} }公共静态void main(String[]args){ web server server=new web server();server . start();}http请求来了,怎么处理?当然,您需要定义一个处理程序来处理它。

socket socket=server . accept();ClientHandler handler=新的ClientHandler(套接字);threadPool.execute(处理程序);处理程序处理客户端请求并完成响应:

私有类ClientHandler实现Runnable { private Socket socketpublic client handler(Socket Socket){ this . Socket=Socket;} public void run() {try {//根据输入流解析请求http request=new http request(socket . getinputstream());//首先判断用户是否请求后端请求if (servercontext。ServletMapping。包含密钥(请求。getRequestline())){//通过反射机制加载此类//实例化此Servlet} else {//检查请求的页面是否存在。有直接跳转} else {//设置状态码404等。跳转到404页}} catch(异常){ e . printstacktrace();}最后{ socket . close();}}当然,处理后的请求要根据输入流解析,响应对象要根据输出流创建。需要判断是否是后端请求。如果不是后端请求,需要找到对应的文件,设置响应头,设置响应体,返回给浏览器。如果没有找到,则返回404。如果后端请求需要通过servlet,我们肯定需要通过请求路径找到对应的配置文件。我们的配置可以放在xml或map中,可以通过反射机制加载一个类,然后实例化一个servlet。处理之后,请求头和请求体被设置并返回给客户端。

知识点:IPO模式。

简单web服务器的想法基本都有了,但是springboot应用为什么不需要你单独启动服务器呢?Springboot默认使用Tomcat作为嵌入式服务器。因此,我们建立一个项目会非常简单。Springboot应用程序将自动启动一个嵌入式Tomcat服务器实例。至于如何自动做到,你问过自己为什么吗?

本文主要介绍了关于web服务器怎么配置(免费个人web服务器推荐)的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://seotea.com/article/717705.html