电脑服务器

使用java基础实现一个简陋的web服务器软件

假装没事ソ 提交于 2020-02-22 13:29:19
使用java基础实现一个简陋的web服务器软件 1、写在前面 大学已经过了一年半了,从接触各种web服务器软件已经有一年多了,从大一上最开始折腾Windows电脑自带的IIS开始,上手了自己的第一个静态网站,从此开启了web方向学习的兴趣。到现在,从陪伴了javaweb阶段的Tomcat走来,也陆续接触了jetty,Nginx等web服务器软件。但是,这些web服务器的软件也一直都是开箱即用,从未探究过其背后的原理。今天,尽量用最简单的java代码,实现一个最简陋的web服务器软件,揭开web服务器软件的神秘面纱。 2、Tomcat的架构模式 由上图可以看出,Tomcat作为如今相对成熟的web服务器软件,有着相对较为复杂的架构,有着Server、Service、Engine、Connerctor、Host、Context等诸多组件。对于Tomcat的源码分析将在以后的博文中分篇讲解 ,在此不在叙述。本节主要是实现一个自己的web服务器软件,其架构也超级简单。 3、编写一个简单的web服务器类 3.1、web服务器软件面向的浏览器客户,因此在同一时间肯定不止有一个http请求,因此肯定需要开启多线程来进行服务,对类上实现Runnable接口,并重写其中的run方法。 public class ServerThread implements Runnable { @Override

影响网站打开速度的10个因素

若如初见. 提交于 2020-02-20 14:11:30
原文:http://lusongsong.com/reed/350.html 再好的网站,如果打开速度慢,10个人会有9个人选择离开,我归纳了大约9大影响网站打开速度的因素,但网站页面显示的速度取决于众多的因素,包括 服务器性能、网络传输质量、网站的带宽、DNS解析、网页内容包括涉及到的JS代码、图片和视频的大小等等各种因素,如有不全,欢迎跟帖补充和指正。 (再好的网站,如果打开速度慢,10个人会有9个人选择离开) 1:网络最小带宽 这是最主要的因素,在慢的网站放在好的带宽下访问速度一样快(就是多花钱),网络的带宽包括对网站所在服务器带宽和用户端两个位置,对接点指的是出口端与入口端(如电信对网通的对接点),另一个就是用户本身的最小带宽,如果用户办的是512K宽带咱就爱莫能助了。 2:DNS解析时间 DNS解析 包括往返解析的次数及每次解析所花费的时间,它们两者的积就是DNS解析所消耗的时间,因此,很多人忽视了DNS的问题,其实,DNS对网站解析速度也是非常重要的,如Google近期推出的 Page Speed Service 和国内的DNSPOD等免费给域名做DNS加速的,大家可以一试。 3:机器的配置 包括服务器端与客户机端的硬件配置程度,同样的网络环境下,双核的服务器的运算能力肯定要强一些,毫无疑问的,同样的网络环境下,你用一台赛扬的机器和奔四双核处理器的电脑,打开同样的网页

HTTP 协议详解

瘦欲@ 提交于 2020-02-18 00:41:06
HTTP 协议定义 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议 (HTTP) 是一种通信协议,它允许将超文本标记语言 (HTML) 文档从 web 服务器传送到客户端的浏览器 网页是如何显示的 Request 与 Response 我们输入 URL 后,我们的浏览器给 Web 服务器发送一个 Request,Web 服务器接到 Request 后进行处理,生成响应的 Response,然后发送给浏览器,浏览器解析 Response 中的 HTML,这样我们就看到了网页 代理服务器 - 网络信息的中转站,功能如下: 1.提高访问速度,大多数的代理服务器都有缓存功能 2.突破限制,也就是翻墙 3.隐藏身份 b. 网页显示 浏览器需 发送多次 Request 1.当在浏览器输入 URL 时,浏览器发送一个 Request 取获取 URL 的html,服务器把 Response 发送回给浏览器 2.浏览器分析 Response 中的 HTML,发现其中引用了很多其他文件,如 图片、CSS文件、JS文件 3.浏览器会自动再次发送 Request 去获取图片、CSS、JS等 4.等所有文件都下载成功后,网页就被显示出来了 HTTP 的无状态 与 Connection:keep-alive 无状态是指协议对于事务处理没有记忆能力

网络

与世无争的帅哥 提交于 2020-02-13 21:24:02
个人博客 http://www.milovetingting.cn 网络 前言 本文为学习Java相关知识所作笔记,参考以下资料: https://github.com/Snailclimb/JavaGuide ,感谢原作者的分享! 网络 7 层架构 7 层模型主要包括: 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。 它的主要作用是传输比特流(就是由 1、 0 转化为电流强弱来进行传输,到达目的地后在转化为1、 0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。 数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。 网络层:主要将从下层接收到的数据进行 IP 地址(例 192.168.0.1)的封装与解封装。在这一层工作的设备是路由器,常把这一层的数据叫做数据包。 传输层:定义了一些传输数据的协议和端口号(WWW 端口 80 等),如: TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据), UDP(用户数据报协议,与 TCP 特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如 QQ 聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段进行传输

远程控制公司的电脑的几个方法

£可爱£侵袭症+ 提交于 2020-02-12 04:17:35
在生活和学习过程中,有时候我们总是会忘记带U盘,或者是走到公司才想起重要文件还在自家的电脑上,这时候怎么办呢?总不能跑回去拿吧,今天小编就给大家介绍几个款强大的电脑远程控制软件,他可以突破内网限制实现远程控制。 TeamViewer TeamViewer是全球唯一能够通过任何桌面和移动设备访问并控制LIVE iOS设备屏幕的远程支持软件。 如何使用TeamViewer,想必对大家来说很想了解这方面的内容,下面小编给大家分享一下,希望可以帮助到大家。 大家可以根据自己的需求来下载,官方提供了很多版本 要是觉得麻烦,也可以在小编这里下载,也是正版的,这里我只提供了windows 版,文章最后会教大家如何获取。 下载完成后直接点击安装即可,根据自己的需求进行选择安装 如何使用 你需要在你的电脑上安装一个,然后在其他电脑上也安装一个,这个软件是通过ID和密码才能实现互联的,密码是随机生成的。 忘记密码怎么办 如果忘记密码,你还可以设置授权轻松访问,或者点击密码那里的小图标,设置个人密码,这样你就只要记得账号就行了 注意这里要设置为允许所有用户都可以登录 iis7远程桌面: IIS7远程桌面管理工具(3389、vps、服务器批量管理、批量远程工具)简介: 1、批量管理WIN系列服务器,VPS,电脑。 2、批量导入服务器的IP,端口,账号和密码 3、批量打开N个服务器的远程桌面 4、远程桌面后

C# .net用法大全

牧云@^-^@ 提交于 2020-02-12 04:09:47
从事多年的开发,对于.net可以说有一定的总结,有关于教科书般的文档,献于交流. 本文整理了当前企业web开发中的管理系统,商城等系统的常用开发技术栈。 C#常见运算符 一元运算符(+、-、!、~、++、--) 算术运算符(*、/、%、+ 、 – ) 移位运算符(<< 、>> ) 关系和类型测试运算符(==、!=、<、>、<=、>=、is 和 as) 逻辑运算符(&、^ 和 | ) 条件逻辑运算符(&& 和 || ) 空合并运算符(??)条件运算符(它也称为三元运算符,?: ) 赋值运算符(=、+=、-=、!=、/=、&=、|=) C#常见语句块 Try(用于捕捉在块的执行期间发生的各种异常) Checked 语句和 Unchecked(用于控制整型算术运算和转换的溢出检查上下文) Lock(获取某个给定对象的互斥锁,执行一个语句,然后释放该锁) Using(获取一个或多个资源,执行一个语句,然后释放该资源) C#常见类修饰符 abstract抽象类 sealed密封类 static静态类 partial分部修饰 访问修饰符(public、protected、internal 和 private ) C#常用预处理指令 #region:指定一个可展开或折叠的代码块 #endregion:它标识着 #region 块的结束 #define: 它用于定义一系列成为符号的字符

服务器虚拟化

三世轮回 提交于 2020-02-11 18:30:52
将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“ 资源池 ”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力--------这就是服务器的虚拟化。 分类 编辑 服务器 虚拟化主要分为三种:“一虚多”、“多虚一”和“多虚多”。“一虚多”是一台服务器虚拟成多台服务器,即将一台物理服务器分割成多个相互独立、互不干扰的虚拟环境。“多虚一”就是多个独立的物理服务器虚拟为一个逻辑服务器,使多台服务器相互协作,处理同一个业务。另外还有“多虚多”的概念,就是将多台物理服务器虚拟成一台逻辑服务器,然后再将其划分为多个虚拟环境,即多个业务在多台虚拟服务器上运行。 虚拟化存在的问题 1、缺乏虚拟化的总体规划 2、缺乏虚拟化的系统管理 3、虚拟机负载过重 4、缺少测试环节 5、没有持续优化 价值 全方位、端到端的虚拟化解决方案 一、有效解决内存和I/O等硬件瓶颈问题 二、软件层面整合能力全面 三、虚拟化服务能力突出 一枝独秀的存储虚拟化方案 一、 存储虚拟化 关注可持续性、可靠性、安全性 二、破解存储虚拟化的四大困境 1、I/O链路层优化方案解决动态虚机与固态存储的性能矛盾 2、 磁盘阵列 解决 网络存储 数据传输增加负载的瓶颈问题 3

宏內核與微內核區別

99封情书 提交于 2020-02-10 20:33:32
操作系統內核-宏內核與微內核(轉載) 聲明:本文從CSDN轉載,原文鏈接為: https://blog.csdn.net/Silencegll/article/details/51496158 操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式,这些术语定义如下: 单内核:也称为宏内核。将内核从整体上作为一个大过程实现,并同时运行在一个单独的地址空间。所有的内核服务都在一个地址空间运行,相互之间直接调用函数,简单高效。微内核:功能被划分成独立的过程,过程间通过IPC进行通信。模块化程度高,一个服务失效不会影响另外一个服务。Linux是一个单内核结构,同时又吸收了微内核的优点:模块化设计,支持动态装载内核模块。Linux还避免了微内核设计上的缺陷,让一切都运行在内核态,直接调用函数,无需消息传递。 Linux大部分都是单内核的。 微内核(Microkernel kernel)――在微内核中,大部分内核都作为单独的进程在特权状态下运行,他们通过消息传递进行通讯。在典型情况下,每个概念模块都有一个进程。因此,假如在设计中有一个系统调用模块,那么就必然有一个相应的进程来接收系统调用,并和能够执行系统调用的其他进程(或模块)通讯以完成所需任务。 在这些设计中,微内核部分经常只但是是个消息转发站:当系统调用模块要给文档系统模块发送消息时

常见服务器

試著忘記壹切 提交于 2020-02-07 10:12:01
(1) WWW服务器(WWW Server) WWW服务器也称为Web服务器(Web Server)或HTTP服务器(HTTP Server),它是Internet上最常见也是使用最频繁的 服务器之一,WWW服务器能够为用户提供网页浏览、论坛访问等等服务。比如:我们在使用浏览器访问 http://www.discuz.net的时候,实际上就是在访问Discuz!的WWW服务器,从该WWW服务器获取需要的论坛资料和网页。 (2) FTP服务器(FTP Server) FTP服务器是专门为用户提供各种文件(File)的服务器,FTP服务器上往往存储大量的文件,例如:软件、MP3、电影、 程序等等。用户只要使用FTP客户端软件登录到FTP服务器上就可以从FTP服务器下载所需文件和资源到自己的电脑上,同时, 你也可以把自己电话上的文件上传到FTP上供其他用户下载,以实现文件资源的共享。 (3) 邮件服务器(Mail Server) e-mail是Internet上应用最频繁的服务之一,而Internet上每天数亿百亿计的电子邮件的收发都是通过邮件服务器实 现的。邮件服务器就像邮局一样,可以为用户提供电子邮件的接收存储和发送服务。 除了以上介绍的3种主要服务器之外,还有很多其他类型的网络服务器,例如:数据库服务器(Database Server)、代 理服务器(Proxy Server)

服务器日常维护需注意哪些事项?

人盡茶涼 提交于 2020-02-06 19:58:25
在服务器行业火热的今天,服务器是如今被使用较广的一款网络设备,很多用户在开展业务的时候,往往会选择服务器租用或者服务器托管来发展自己的线上业务,那么在使用管理服务器的时候,服务器的日常维护方面都哪些呢?需要注意些什么呢? 为了能更好的使用和延长服务器的使用寿命,定期的对服务器进行维护和管理是非常必要的。 在维护服务器的时候一定要小心的处理好维护的工作,否则出现错误的话就会影响很大。为了方便大家在维护中了解一些维护内容的同时又能避免出现错误。下面智简魔方小编就收集了一些关于服务器硬件设施维护资料供大家参考。 1.硬盘的检查 我们都知道服务器在运行的过程中,很多都是需要硬盘来储存数据的,如果硬盘的介质发生了损坏,那就会发生稳定性和负载方面的问题,直接引发硬盘的故障。 硬盘介质出现问题往往保险在怀道和碎片化两个方面。因此我们在日常维护工作中,硬盘的检查是非常重要的一项工作,一旦检查出硬盘方面的问题时候,都要及时处理,否则会严重影响服务器储存功能。 Dcim系统可以检测服务器的CPU、主板、内存、系统等各类硬件设施的信息。同时支持流量监测! 2.服务器除尘 服务器一旦受到灰尘的侵扰,那会造成严重的故障。我们在日常使用电脑的时候就会发现,电脑一旦积累了灰尘就会造成电脑散热不好,反应速度很慢,服务器也是同样的原理。当服务器积累了灰尘后,会导致服务器的风扇组件在散热环节收到影响