一步一步实现一个Web Server-01

本文详细介绍如何使用Java从零开始构建一个简易的Web服务器,涵盖HTTP协议理解、Socket编程及响应构造,实现与浏览器的基本交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本次新型冠状病毒的疫情,给本该红火的新年和激情洋溢的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则代表着服务器返回给浏览器的数据的头部信息,也就是说,服务器要给我浏览器返回数据,首先要满足我的协议格式要求,不然ServerA给我返回一个格式,ServerB返回另一个,明天来个C,D,E,F。。好嘛,你们一人一个格式,要把我浏览器累死啊,干脆,大家约定一个格式,你们按

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏鹏超人

如果觉得不错,请我喝杯茶如何?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值