Http/2 হলো Http প্রোটোকলের nieuভার ভার্সন। Http/2-এর উন্নতিগুলো ফোকাস করে সার্ভার ও ক্লায়েন্টের মাঝপথে ডেটা কীভাবে ফ্রেম ও ট্রান্সপোর্ট হয়। এই নতুন Http/2 প্রোটোকল-এ Http ক্লায়েন্ট, রিকোয়েস্ট এবং রেসপন্স-এর জন্য আলাদা ক্লাস ডিফাইন করা হয়েছে। নতুন API Http কানেকশন আরও সহজে মেইনটেইন করতে দেয়, দ্রুত হয় এবং থার্ড-পার্টি লাইব্রেরি ছাড়া আরও রেসপন্সিভ অ্যাপ্লিকেশন বানাতে সাহায্য করে।
HTTP কানেকশন হ্যান্ডল করার তিনটি ক্লাস
- HttpClient: রিকোয়েস্ট তৈরি ও পাঠানোর দায়িত্ব নেয়।
- HttpRequest: HttpClient-এর মাধ্যমে পাঠানোর জন্য রিকোয়েস্ট কনস্ট্রাক্ট করতে ব্যবহৃত হয়।
- HttpResponse: পাঠানো রিকোয়েস্টের রেসপন্স ধারণ করে।
উদাহরণ: নির্দিষ্ট URL-এ রিকোয়েস্ট পাঠিয়ে রেসপন্স গ্রহণ
// Create an HttpClient object
HttpClient httpClient = HttpClient.newHttpClient();
System.out.println(httpClient.version());
// Build a HTTPRequest
HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(new URI("https://www.tutorialspoint.com/"))
.GET()
.build();
// Create a GET request for the given URI
Map<String, List<String>> headers = httpRequest.headers().map();
headers.forEach((k, v) -> System.out.println(k + "-" + v));
// Send the request
HttpResponse httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandler.asString());
// Output the body of the response
System.out.println("Response: " + httpResponse.body());