{"id":17174,"date":"2026-09-01T14:00:07","date_gmt":"2026-09-01T05:00:07","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=17174"},"modified":"2026-09-01T14:26:19","modified_gmt":"2026-09-01T05:26:19","slug":"java-11-http-client-api","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=17174","title":{"rendered":"Java 11, HTTP Client API"},"content":{"rendered":"<p>Java 11\ubd80\ud130\ub294 \ubcc4\ub3c4\uc758 \uc678\ubd80 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc5c6\uc774\ub3c4 Java\uc5d0\uc11c \uae30\ubcf8\uc801\uc73c\ub85c \uc81c\uacf5\ud558\ub294 HTTP Client API\ub97c \ud1b5\ud574 \uac70\uc758 \ub300\ubd80\ubd84\uc758 \ub124\ud2b8\uc6cc\ud06c \ud1b5\uc2e0(\ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c \uc11c\ubc84\ub85c\uc758 \uc694\uccad) \uae30\ub2a5\uc744 \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774 API\ub294 HttpURLConnection\uc744 \ub300\uccb4\ud558\uae30 \uc704\ud574 \uc124\uacc4\ub418\uc5c8\uc73c\uba70, HTTP\/1.1\uacfc HTTP\/2, \ub3d9\uae30\/\ube44\ub3d9\uae30 \ud1b5\uc2e0, WebSocket, Proxy, Authentication, TLS\/SSL, HTTP\/2 Server Push \ub4f1\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc608\ub97c\ub4e4\uc5b4\uc11c GET \ubc29\uc2dd\uc758 \ub3d9\uae30\uc801 \uc694\uccad\uc740 \ub2e4\uc74c \ucf54\ub4dc\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\nimport java.net.URI;\r\nimport java.net.http.HttpClient;\r\nimport java.net.http.HttpRequest;\r\nimport java.net.http.HttpResponse;\r\n\r\npublic class App {\r\n    public static void main(String[] args) throws Exception {\r\n        HttpClient client = HttpClient.newHttpClient();\r\n\r\n        HttpRequest request = HttpRequest.newBuilder()\r\n                .uri(URI.create(\"https:\/\/example.com\"))\r\n                .GET()\r\n                .build();\r\n\r\n        HttpResponse&lt;String> response = client.send(\r\n                request,\r\n                HttpResponse.BodyHandlers.ofString()\r\n        );\r\n\r\n        System.out.println(\"Status: \" + response.statusCode());\r\n        System.out.println(\"Headers: \" + response.headers());\r\n        System.out.println(\"Body:\" + response.body());\r\n    }\r\n}<\/pre>\n<p>17\ubc88 \ucf54\ub4dc\uc758 send \ub9e4\uc11c\ub4dc\uc5d0 \uc9c0\uc815\ud55c 2\ubc88\uc9f8 \uc778\uc790\ub294 body\ub97c \ubb38\uc790\uc5f4\ub85c \ubc1b\uaca0\ub2e4\ub294 \uc758\ub3c4\uc785\ub2c8\ub2e4.<\/p>\n<p>POST \ubc29\uc2dd\uc758 \ub3d9\uae30\uc801 \uc694\uccad\uc5d0 \ub300\ud55c \ucf54\ub4dc \uc608\uc2dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\nimport java.net.URI;\r\nimport java.net.http.HttpClient;\r\nimport java.net.http.HttpRequest;\r\nimport java.net.http.HttpResponse;\r\n\r\npublic class App {\r\n    public static void main(String[] args) throws Exception {\r\n        HttpClient client = HttpClient.newHttpClient();\r\n\r\n        String json = \"\"\"\r\n                {\r\n                    \"name\": \"Tom\",\r\n                    \"age\": 20\r\n                }\r\n                \"\"\";\r\n\r\n        HttpRequest request = HttpRequest.newBuilder()\r\n                .uri(URI.create(\"https:\/\/example.com\/users\"))\r\n                .header(\"Content-Type\", \"application\/json\")\r\n                .POST(HttpRequest.BodyPublishers.ofString(json))\r\n                .build();\r\n\r\n        HttpResponse&lt;String> response = client.send(\r\n                request,\r\n                HttpResponse.BodyHandlers.ofString());\r\n\r\n        System.out.println(response.statusCode());\r\n        System.out.println(response.body());\r\n    }\r\n}\r\n<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \ub3d9\uae30\uc801 \uc694\uccad\uc778\ub370, \ube44\ub3d9\uae30\uc801 \uc694\uccad \ubc29\uc2dd\uc73c\ub85c \ubcc0\uacbd\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">\r\nimport java.net.URI;\r\nimport java.net.http.HttpClient;\r\nimport java.net.http.HttpRequest;\r\nimport java.net.http.HttpResponse;\r\n\r\npublic class App {\r\n    public static void main(String[] args) throws Exception {\r\n        HttpClient client = HttpClient.newHttpClient();\r\n\r\n        String json = \"\"\"\r\n                {\r\n                    \"name\": \"Tom\",\r\n                    \"age\": 20\r\n                }\r\n                \"\"\";\r\n\r\n        HttpRequest request = HttpRequest.newBuilder()\r\n                .uri(URI.create(\"https:\/\/example.com\/users\"))\r\n                .header(\"Content-Type\", \"application\/json\")\r\n                .POST(HttpRequest.BodyPublishers.ofString(json))\r\n                .build();\r\n\r\n        client.sendAsync(\r\n                request,\r\n                HttpResponse.BodyHandlers.ofString())\r\n                .thenAccept(response -> {\r\n                    System.out.println(response.statusCode());\r\n                    System.out.println(response.body());\r\n                })\r\n                .join();\r\n    }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Java 11\ubd80\ud130\ub294 \ubcc4\ub3c4\uc758 \uc678\ubd80 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc5c6\uc774\ub3c4 Java\uc5d0\uc11c \uae30\ubcf8\uc801\uc73c\ub85c \uc81c\uacf5\ud558\ub294 HTTP Client API\ub97c \ud1b5\ud574 \uac70\uc758 \ub300\ubd80\ubd84\uc758 \ub124\ud2b8\uc6cc\ud06c \ud1b5\uc2e0(\ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c \uc11c\ubc84\ub85c\uc758 \uc694\uccad) \uae30\ub2a5\uc744 \ucc98\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 API\ub294 HttpURLConnection\uc744 \ub300\uccb4\ud558\uae30 \uc704\ud574 \uc124\uacc4\ub418\uc5c8\uc73c\uba70, HTTP\/1.1\uacfc HTTP\/2, \ub3d9\uae30\/\ube44\ub3d9\uae30 \ud1b5\uc2e0, WebSocket, Proxy, Authentication, TLS\/SSL, HTTP\/2 Server Push \ub4f1\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc608\ub97c\ub4e4\uc5b4\uc11c GET \ubc29\uc2dd\uc758 \ub3d9\uae30\uc801 \uc694\uccad\uc740 \ub2e4\uc74c \ucf54\ub4dc\uc640 \uac19\uc2b5\ub2c8\ub2e4. import java.net.URI; import java.net.http.HttpClient; import &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=17174\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java 11, HTTP Client API&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60],"tags":[],"class_list":["post-17174","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/17174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17174"}],"version-history":[{"count":7,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/17174\/revisions"}],"predecessor-version":[{"id":17176,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/17174\/revisions\/17176"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17174"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}