Java HttpURLConnection-为什么只有在从连接读取数据时才发送请求

Java HttpURLConnection-为什么只有在从连接读取数据时才发送请求,java,jakarta-ee,serversocket,Java,Jakarta Ee,Serversocket,为什么当我们尝试从连接中读取某些内容时,请求负载会被发送到请求;存在,则服务器接收请求,但如果不存在,则请求未到达/正在发送 如果下面对连接响应代码进行了注释,它甚至不会引发任何异常 这是基于Java8的 HttpURLConnection connection = null; URL url=new URL("http://..."); connection = (HttpURLConnection) url.openConnection

为什么当我们尝试从连接中读取某些内容时,请求负载会被发送到请求;存在,则服务器接收请求,但如果不存在,则请求未到达/正在发送

如果下面对连接响应代码进行了注释,它甚至不会引发任何异常

这是基于Java8的

            HttpURLConnection connection = null;
        URL url=new URL("http://...");
        connection = (HttpURLConnection) url.openConnection();
        String request="{\"language\":\"english\"}";
        connection.setDoOutput(true);
        connection.setInstanceFollowRedirects(false);
        connection.setRequestMethod("PUT");
        connection.setConnectTimeout(500);
        connection.setReadTimeout(300);

        connection.setRequestProperty("Content-Type", "application/json");

        outputStream = connection.getOutputStream();

        byte[] payload = request.getBytes();
        outputStream.write(payload);
        outputStream.flush();
        outputStream.close();

        //If commented request is not reaching server controller
        //if uncommented , request is reaching
        connection.getResponseCode();