简单java http服务器-基于客户端的http请求解析新的动态网页

e4eetjau  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(100)

关闭。这个问题需要详细或明确。它目前不接受答案。
**想改进这个问题吗?**编辑这篇文章,添加细节并澄清问题。

6小时前关门了。
改进这个问题
我一直在尝试在使用基本套接字编程创建的JavaHTTP服务器上为来自客户端的请求生成响应
我一直在使用这些文档:rfc 7230rfc 7231rfc 7232
我一直在尝试解析来自浏览器的http请求,为了生成响应,我有四个选项-
A.本地生成网站本身的动态响应
php中的示例

<?php 
    if(isset($_POST['_post']))
    {
        echo "<h4>Hello to the environment " .$_POST['name']. "</h4>";
    }
?>

B如果基于请求设置了数据字段,则解析请求并返回新的html页面

String htmlData = htmlDataLayoutTop + htmlDataRequest + htmlDataLayoutBottom;
// Layout CONTENT (top)  + manual CONTENT based upon request + Layout CONTENT (bottom)
String response =   
                    "HTTP/1.1 200 OK" + CRLF + // Status Line: HTTP_VERSION RESPONSE_CODE RESPONSE_MESSAGE
                    "Content-Length: " + htmlData.getBytes().length + CRLF + // HEADER
                    CRLF +  // newline (/r/n)
                    htmlData + 
                    CRLF + CRLF;

C从请求中发送请求页面,然后向同一页面发出post请求,使用内联php或javascript生成动态响应(与a部分相同,但需要往返服务器以获取新页面)

String htmlData = htmlDataLayoutTop + htmlDataLayoutBottom;
String response1 =  
                    "HTTP/1.1 200 OK" + CRLF + // Status Line: HTTP_VERSION RESPONSE_CODE RESPONSE_MESSAGE
                    "Content-Length: " + htmlData.getBytes().length + CRLF + // HEADER
                    CRLF +  // newline (/r/n)
                    htmlDataLayoutTop +  // Layout CONTENT (top) 
                    htmlDataLayoutBottom +  // Layout CONTENT (bottom)
                    CRLF + CRLF;  

String response2 = request; // the http request that came from the client
// Just sent it once the webpage is sent to the client, ie. response1 is send

D以相同的响应发送页面和get/post请求(与b部分相同,我们使用附加的post/get请求在到达网页时生成数据,而不是手动设置数据,c部分的一步解决方案)
python中的示例

from flask import render_template
def func:
    return render_template('response.html', say=request.form['name'])

这是一个信息收集问题,我想知道哪些可以实现,哪些最好实现
有关详细代码,请查看回购协议

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题