一步一步实现一个Web Server-01
前言 本次新型冠状病毒的疫情,给本该红火的新年和激情洋溢的2020盖上了一层阴影。作为普通人的我,只能做到听党和国家的话,不添乱,老老实实在家呆着。处理完公司日常工作之余,想着把相关的一些零散知识串联一下,看了一些tomcat相关的架构设计和源码,于是就想,干脆自己尝试写一个简单的server吧。如果你也有兴趣,那我们就开始吧。 本次项目涉及到的一些知识点: 1、http; 2、java反射; 3、java IO; 4、xml解析; 5、Servlet; 6、html基础知识; 7、多线程; 8、java网络编程; 9、NIO 让我们先从一个最基本的java应用开始。曾经有个同事跟我吹嘘,用nodejs几行代码就能搞出一个server来对外提供应用,我们看看用java怎么做: 目标:从浏览器输入一个地址,服务器给我一个反馈信息。 一、http协议 我们的目标是通过浏览器来验证我们的服务器工作状况,所以需要先了解一下基本的http协议。我们先随便来抓一个包看看,http 都包含哪些东西。现在我们就从浏览器F12看一下吧, 后面换成Fiddler来进行查看数据请求的情况,一步步来。 上图中general下包含的就是请求的原始信息,包含了请求方法为Get,请求的url,请求状态,以及远程地址等信息。下方的Response Headers则代表着服务器返回给浏览器的数据的头部信息,也就是说