dockerzhang opened a new issue #906:
URL: https://github.com/apache/incubator-inlong/issues/906


   <p>As for WebAPI service part, currently it supports only GET request, and 
supporting POST request could apparently and significantly improve the 
usability and extend the functionality of WebAPI itself.</p>
   
   <p>It could be described as below, some may be so familiar to developers, 
users, or relating stakeholders:<br/>
   1. GET has hard limitation of the length of URL (2KB), however, POST using 
body to carry data section, so it does NOT have such limitation, e.g. you may 
request an API with even 16MB something if it's really needed;<br/>
   2. GET requires data to be ASCII characters (or you have to encode them by 
BASE64 or something like it), however, POST body does NOT have such 
restriction, so you could literally post whatever kind of binary data you want, 
so it has wider compatibility, and reduces complexity and contributes to 
performance (no extra encoder needed);<br/>
   3. GET combines all things in URL, so it could easily captured and cached, 
while it's visible and less secure to carry sensitive data like identity, 
however, POST is obviously safer as generally post body won't be cached or 
captured in analyzer or logger or something else in infrastructure;</p>
   
   <p>Provided TubeMQ is currently using Mortbay Jetty (Jetty 6, which has 
stopped maintenance for 10+ years), for security, performance and extensibility 
consideration, upgrade current Jetty component to Eclipse Jetty (Jetty 9, which 
is current mainstream of Jetty, now in hot developing) is an important 
requirement as well in addition to implementation of this functionality.<br/>
   Potential extra benefits from this upgrade:<br/>
   1. HTTP 2 Support: maybe one day some of these features could play an 
important role of WebAPI interaction: Multiplexing / Server Push / Frame-based 
Compression / Stream Prioritization<br/>
   2. Stay in latest distribution, with Feature and Security improvements (see 
Jetty VERSION: change log).</p>
   
   <p>So this improvement would consists of 3 major steps:<br/>
   1. Upgrade Jetty 6 (mortbay) to Jetty 9 (eclipse), with NO WebAPI feature 
change;<br/>
   2. Adding POST support to WebAPI, but stay in HTTP 1.1 as before;<br/>
   3. Upgrade protocol to HTTP 2.0 for WebAPI (with backward compatibility to 
HTTP 1.1).</p>
   <i>JIRA link - <a 
href="https://issues.apache.org/jira/browse/INLONG-307";>[INLONG-307]</a> 
created by hystericalhell</i>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to