最近感觉自己想做点东西来提高下自己,然后和周围大神了解下,决定来写个web server。通过博客来记录自己学习和实践的阶段。
首先用了大概一下午的时间了解了下http协议的基本规则,https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
了解了大概客户端发来请求里面的header字断的值意,对于服务器响应后返回给客户端的header信息以及和body之间的分割规则。
然后基于socket来建立tcp连接连接,通过同步阻塞io来传输数据
然后通过一个handle来处理inputStream ,来得到相应结果.
基本上完成了一个请求的接受,解析,和响应。
第一个版本只是目前只是功能的实现。(先买了本java多线程实践来夯实下基础再用到里面去)
接下来考虑nio来做io复用,还有连接池较少连接建立关闭的开销,以及以后更展望下做成servlet容器之类的东西。
目前将代码托管到github上https://github.com/songlijiang/webService
首先用了大概一下午的时间了解了下http协议的基本规则,https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
了解了大概客户端发来请求里面的header字断的值意,对于服务器响应后返回给客户端的header信息以及和body之间的分割规则。
然后基于socket来建立tcp连接连接,通过同步阻塞io来传输数据
然后通过一个handle来处理inputStream ,来得到相应结果.
基本上完成了一个请求的接受,解析,和响应。
第一个版本只是目前只是功能的实现。(先买了本java多线程实践来夯实下基础再用到里面去)
接下来考虑nio来做io复用,还有连接池较少连接建立关闭的开销,以及以后更展望下做成servlet容器之类的东西。
目前将代码托管到github上https://github.com/songlijiang/webService