回顾tomcat

Tomcat是Apache软件基金会(Apache Software Foundation)的一个顶级项目,由Apache, Sun和其他一些公司及个人共同开发,是目前比较流行的Web服务器之一.作为一个开源的,小型的轻量级应用服务器,Tomcat深受广大程序员的喜爱,具有占用系统资源少,扩展性好,支持负载均衡与邮件服务等开发应用系统常用的功能; 而且它还在不断地改进和完善中, 任何一个感兴趣的程序员都可以更改它或在其中加入新的功能.

虽然Tomcat易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块.这些功能模块密切合作,各司其职,构成了Tomcat的核心结构. 作者从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐步深入,逐一剖析Tomcat的基本功能模块,并配以....略

--节选<深入剖析Tomcat>

Java Web 服务器的运行
Web服务器也称为超文本传输协议 (HyperText Transfer Protocol, HTTP)服务器, 因为它使用HTTP与其客户端(通常是Web浏览器)进行通信,

基于Java的Web服务器会使用两个重要的类: java.net.Socket 类和 java.net.ServerSocket 类, 并通过发送 HTTP 消息进行通信.

HTTP

HTTP允许Web服务器和浏览器通过Internet发送并接收数据,是一种基于"请求-响应"的协议.

客户端请求一个文件,服务器对该请求进行响应. HTTP使用可靠的TCP连接, TCP协议默认使用TCP 80端口.

HTTP协议的第一个版本是HTTP/0.9, 后来被HTTP/1.0取代,随后 HTTP/1.0 又被当前版本 HTTP/1.1取代.

HTTP/1.1定义于 RFC (Request for Comment,请求注解) 2616中... 可以从

http://www.w3.org/Protocols/HTTP/1.1/rfc2616.pdf 下载

注意: 本节简单介绍HTTP1.1 , 目的是帮助你了解Web服务器应用程序发送的消息

在HTTP中,总是由客户端通过建立连接并发送HTTP请求来初始化一个事务的. Web服务器端

并不负责联系客户端或建立一个到客户端的回调连接. 客户端或服务器端可提前关闭连接.

例如,当使用Web浏览器浏览网页时, 可以单击浏览器上的Stop按钮来停止下载文件,这样就

有效地关闭了一个Web服务器的HTTP连接.

HTTP请求包含以下三部分:

- 请求方法 --- 统一资源标识符(Uniform Resource Identifier, URI) -- 协议/版本

- 请求头

- 实体

HTTP请求的示例如下所示:

HTTP响应

与HTTP请求类似, HTTP响应也包括三部分:

- 协议 -- 状态吗 -- 描述

- 响应头

- 响应实体段

下面是一个HTTP响应的示例:

HTTP响应头的第一行与HTTP请求头的第一行类似. 第一行指明了使用的协议是HTTP/1.1

请求发送成功(状态吗200表示请求成功), 一切都正常执行.

Socket类

套接字是网络连接的端点, 套接字使应用程序可以从网络中读取数据,可以向网络中写入数据.

不同计算机上的两个应用程序可以通过连接发送或接收字节流. 以此达到相互通信的目的.

为了从一个应用程序向另一个应用程序发送消息, 需要知道另一个应用程序中套接字的IP地址和端口号.

在Java中, 套接字由 java.net.Socket 表示.

要创建一个套接字, 可以使用 Socket 类中众多构造函数中的一个. 其中一个构造函数接收两个参数: 主机名和端口号

public Socket (String host, int port)

其中参数host是远程主机的名称或IP地址,参数port是连接远程应用程序的端口号.

例如,想要通过80端口连接baidu.com, 可以使用下面的语句创建 Socket 对象:

new Socket ("baidu.com" , 80)

一旦成功地创建了Socket类的实例, 就可以使用该实例发送或接收字节流. 要发送字节流,

需要调用Socket类的getOutputStream() 方法获取一个 java.io.OutputStream对象.

要发送文本到远程应用程序, 通常需要使用返回的 OutputStream 对象创建一个 java.io.PrintWriter 对象.

若想要从连接的另一端接收字节流, 需要调用 Socket 类的 getInputStream() 方法,

该法会返回一个 java.io.InputStream 对象.

...略

https://blog.csdn.net/oqqHun123/article/details/96896978  <博客中制定的路径为linux根路径

Tomcat配置二级域名的分配与访问的更多相关文章

  1. xampp配置二级域名通过不同端口访问不同网站

    首先需要在xampp\apache\conf\extra\httpd-vhost.conf中写入配置的二级域名 <VirtualHost *:8081> // 该网站通过监测8081端口 ...

  2. tomcat配置通过域名访问项目

    tomcat配置通过域名访问项目,是修改conf/server.xml里面的配置信息实现.具体如下: (1)修改Connector节点的port属性值 <Connector port=" ...

  3. 使用nginx配置二级域名

    使用nginx配置二级域名 2018.11.21 11:51:17字数 613阅读 170 最近想把三个项目配在一个服务器上,于是想使用nginx配置二级域名实现. 1.域名添加解析 我的是阿里云的域 ...

  4. 利用nginx泛域名解析配置二级域名和多域名

    利用nginx泛域名解析配置二级域名和多域名 网站的目录结构为 html ├── bbs └── www html为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径 www为 ...

  5. 【Tomcat】tomcat配置多域名和虚拟路径

    当我们用浏览器在访问网页的时候,如访问www.baidu.com,一般都认为会在DNS服务器上找这个域名对应的IP,然后向这个IP发送请求 并响应,其实在DNS服务器解析之前,本机会先在你的系统配置文 ...

  6. 通过Nginx为网站配置二级域名

    目录 配置域名解析 配置Nginx 重启Nginx 补充 需求:服务器上面运行多个项目:实现每个二级域名访问对应项目: 服务器:阿里云服务器:域名:阿里云注册: 配置域名解析 即配置DNS解析.一定要 ...

  7. Tomcat配置多域名 Alias

    在Tomcat配置多域名,目的是和apache相对应,实现多域名访问. 使用 < Alias></ Alias>,务必注意,使用的是首字母大写. 我刚开配置使用小写,如果hos ...

  8. windows+tomcat 7配置二级域名访问其他web程序

    1.在域名管理中做好二级域名的解析 2.在tomcat的server.xml中增加如下: <Host name="wx.ai77.cn" debug="0" ...

  9. Tomcat多个项目部署,通过Nginx反向代理分别配置二级域名的流程

    购买域名.示例:example.com 设置多个二级域名.如图: 配置tomcat文件: 修改tomcat/conf目录下的server.xml文件: 如下配置配置了3个容器,使用三个不同的端口. 请 ...

随机推荐

  1. 24H玩转 Grafana 被工程师称相当专业,如何做到?

    国庆假期发生了两件小事,其一是我默默度过 35 周岁生日,其二是玩了下grafana `并在节后第一天被工程师 M 称赞:相当专业. 1.我为什么要玩 grafana 呢? 数月前我提交了一份数据后台 ...

  2. windows平台上编译mongdb-cxx-driver

    编译方法见以下链接,写的非常详细 http://www.pianshen.com/article/9722211716/ 我的编译环境和编译工具如下: 环境:win7或者win10,都试过,没有任何区 ...

  3. Redis运维利器 -- RedisManager

    Redis作为一个基于内存的可持久化的日志型.Key-Value数据库,以其出色的性能表现以及高可用性在许多公司有着举足轻重的地位.伴随着业务量的增长,redis集群的规模不可避免的需要扩大,此时re ...

  4. [转]Sublime Text 3安装Json格式化插件

    1.安装Package control 首先需要安装Package control,如果已经安装请跳过此步骤.按Ctrl+Shift+p打开命令搜索框,输入PC,点击图中条目安装,如下图:   成功后 ...

  5. 如何让 height:100%; 起作用---父级元素必须设定高度

    参考: http://www.webhek.com/post/css-100-percent-height.html https://www.cnblogs.com/kunmomo/p/1060066 ...

  6. python爬虫-房天下-登录

    房天下-登录 本次爬取的网址为:https://passport.fang.com 一.分析请求 输入用户名和密码,点击登录按钮 请求的参数为: uid: 123456789 pwd: 64ccd42 ...

  7. 换个语言学一下 Golang (8)——指针

    定义 所谓指针其实你可以把它想像成一个箭头,这个箭头指向(存储)一个变量的地址. 因为这个箭头本身也需要变量来存储,所以也叫做指针变量. Go的指针不支持那些乱七八糟的指针移位.它就表示一个变量的地址 ...

  8. Exception和RuntimeException区别

    Exception:强制性要求用户必须进行处理: RuntimeException:是Exception的子类,由用户选择是否进行处理:

  9. 木马防杀 花指令 OllyDbg

    打开木马 入口地址 添加花指令 全0的地方,可以插入花指令 保存为可执行文件 随便选择几行,右击 保存文件

  10. scrapy 爬虫中间件-offsite和refer中间件

    环境使用anaconda 创建的pyithon3.6环境 mac下 source activate python36 mac@macdeMacBook-Pro:~$ source activate p ...