使用Java开发一个HTTP服务器,能够处理POST,GET,PUT,DELETE请求。

使用Java开发一个HTTP服务器,能够处理POST,GET,PUT,DELETE请求。,第1张

使用Java开发一个HTTP服务器,能够处理POST,GET,PUT,DELETE请求。

1. 监听端口可以配置;

2. 可以配置的一个工作目录;

3. GET请求可以获得相对于该工作目录的静态文件内容,内容格式限定为html,css,js,json,xml,txt,jpg,gif,png,ico;

a) 例如 GET /f/test1.html返回工作目录下f文件夹下test1.html内容;

b) 在GET请求的的应答中尽可能多的在HTTP头中返回些能获得的到的标准的头信息;

4. POST请求可以在工作目录中创建请求路径对应的文件,文件内容为POST请求的内容;

a) 例如 POST /f/test2.html,在工作目录下f文件夹下创建test2.html文件,并将POST内容作为test2.html的内容。

5. PUT请求可以替换对应路径的文件,修改的内容为PUT请求的内容。注意与POST不同。

a) 例如 PUT /f/test2.html,在工作目录下f文件夹替换test2.html文件的内容,并将PUT内容作为test2.html的内容。

6. DELET请求可以删除对应路径的文件。

a) 例如 PUT /f/test2.html,在工作目录下f文件夹删除test2.html文件。

7. POST,PUT,DELETE成功后返回200,出现找不到文件的情况返回404错误,出现读写文件错误返回500错误。

8. 特别的处理~路径下的GET请求,其包含2个参数,一个是类名,一个是方法名,这些方法都是些无参数并且以字符串为返回值的方法,GET请求应返回这些方法的返回值。

a) 例如 GET /~?class=com.test.Test&method=getTIme,则调用com.test.Test类中String getTIme()方法,将返回值作为GET请求的返回;

b) 若找不到类或方法返回404错误;

c) 若出错返回500错误;

9. 特别的处理$路径下的GET请求,能够为浏览器添加cookie,key为sid,值为UUID的随机字符串。

注意:不是在tomcat之类servlet容器上开发,而是要开发个类似servlet容器的东西。

需要socket(套接字)编程、HTTP协议的知识,实现一个最简单的HTTP服务器,其实就是根据HTTP协议的通信规则来发送socket数据,往往是绑定(用bind调用)一个socket(套接字)然后监听(用listen调用)80端口,具体任何实现可以参考网上的一些简单的代码。之所以说这是最简单的HTTP服务器,是因为HTTP服务器还要处理并发、缓存等功能,更进一步还要支持某种动态脚本比如PHP的模块。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/197195.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存