diff --git a/libraries-http/README.md b/libraries-http/README.md
new file mode 100644
index 0000000000..dd8c6a5f67
--- /dev/null
+++ b/libraries-http/README.md
@@ -0,0 +1,7 @@
+
+### Relevant Articles:
+
+- [A Guide to OkHttp](http://www.baeldung.com/guide-to-okhttp)
+- [A Guide to Google-Http-Client](http://www.baeldung.com/google-http-client)
+- [Asynchronous HTTP with async-http-client in Java](http://www.baeldung.com/async-http-client)
+- [WebSockets with AsyncHttpClient](http://www.baeldung.com/async-http-client-websockets)
diff --git a/libraries-http/pom.xml b/libraries-http/pom.xml
new file mode 100644
index 0000000000..6006a93aef
--- /dev/null
+++ b/libraries-http/pom.xml
@@ -0,0 +1,81 @@
+
+
+
+ 4.0.0
+ libraries-http
+ libraries-http
+
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+
+
+
+
+ com.squareup.okhttp3
+ okhttp
+ ${com.squareup.okhttp3.version}
+
+
+
+
+ com.google.http-client
+ google-http-client
+ ${googleclient.version}
+
+
+ com.google.http-client
+ google-http-client-jackson2
+ ${googleclient.version}
+
+
+ com.google.http-client
+ google-http-client-gson
+ ${googleclient.version}
+
+
+
+
+ org.asynchttpclient
+ async-http-client
+ ${async.http.client.version}
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+
+ com.google.code.gson
+ gson
+ 2.8.5
+
+
+
+ com.squareup.okhttp3
+ mockwebserver
+ ${com.squareup.okhttp3.version}
+ test
+
+
+
+
+
+ 3.6.2
+ 3.14.2
+ 1.23.0
+ 2.2.0
+
+
diff --git a/libraries/src/main/java/com/baeldung/googlehttpclientguide/GitHubExample.java b/libraries-http/src/main/java/com/baeldung/googlehttpclientguide/GitHubExample.java
similarity index 100%
rename from libraries/src/main/java/com/baeldung/googlehttpclientguide/GitHubExample.java
rename to libraries-http/src/main/java/com/baeldung/googlehttpclientguide/GitHubExample.java
diff --git a/libraries/src/main/java/com/baeldung/googlehttpclientguide/GitHubUrl.java b/libraries-http/src/main/java/com/baeldung/googlehttpclientguide/GitHubUrl.java
similarity index 100%
rename from libraries/src/main/java/com/baeldung/googlehttpclientguide/GitHubUrl.java
rename to libraries-http/src/main/java/com/baeldung/googlehttpclientguide/GitHubUrl.java
diff --git a/libraries/src/main/java/com/baeldung/googlehttpclientguide/User.java b/libraries-http/src/main/java/com/baeldung/googlehttpclientguide/User.java
similarity index 100%
rename from libraries/src/main/java/com/baeldung/googlehttpclientguide/User.java
rename to libraries-http/src/main/java/com/baeldung/googlehttpclientguide/User.java
diff --git a/libraries/src/main/java/com/baeldung/googlehttpclientguide/logging.properties b/libraries-http/src/main/java/com/baeldung/googlehttpclientguide/logging.properties
similarity index 100%
rename from libraries/src/main/java/com/baeldung/googlehttpclientguide/logging.properties
rename to libraries-http/src/main/java/com/baeldung/googlehttpclientguide/logging.properties
diff --git a/libraries-http/src/main/resources/logback.xml b/libraries-http/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/libraries-http/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libraries/src/test/java/com/baeldung/asynchttpclient/AsyncHttpClientLiveTest.java b/libraries-http/src/test/java/com/baeldung/asynchttpclient/AsyncHttpClientLiveTest.java
similarity index 100%
rename from libraries/src/test/java/com/baeldung/asynchttpclient/AsyncHttpClientLiveTest.java
rename to libraries-http/src/test/java/com/baeldung/asynchttpclient/AsyncHttpClientLiveTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/client/Consts.java b/libraries-http/src/test/java/com/baeldung/client/Consts.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/client/Consts.java
rename to libraries-http/src/test/java/com/baeldung/client/Consts.java
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/DefaultContentTypeInterceptor.java b/libraries-http/src/test/java/com/baeldung/okhttp/DefaultContentTypeInterceptor.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/okhttp/DefaultContentTypeInterceptor.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/DefaultContentTypeInterceptor.java
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpFileUploadingLiveTest.java b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpFileUploadingLiveTest.java
similarity index 93%
rename from spring-rest/src/test/java/com/baeldung/okhttp/OkHttpFileUploadingLiveTest.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/OkHttpFileUploadingLiveTest.java
index 75980a5360..7b28c17607 100644
--- a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpFileUploadingLiveTest.java
+++ b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpFileUploadingLiveTest.java
@@ -19,6 +19,9 @@ import okhttp3.Response;
import org.junit.Before;
import org.junit.Test;
+/**
+ * Execute spring-rest
module before running this live test
+ */
public class OkHttpFileUploadingLiveTest {
private static final String BASE_URL = "http://localhost:" + APPLICATION_PORT + "/spring-rest";
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpGetLiveTest.java b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpGetLiveTest.java
similarity index 93%
rename from spring-rest/src/test/java/com/baeldung/okhttp/OkHttpGetLiveTest.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/OkHttpGetLiveTest.java
index 3edd2eab06..5efc4aa998 100644
--- a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpGetLiveTest.java
+++ b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpGetLiveTest.java
@@ -17,6 +17,9 @@ import okhttp3.Response;
import org.junit.Before;
import org.junit.Test;
+/**
+ * Execute spring-rest
module before running this live test
+ */
public class OkHttpGetLiveTest {
private static final String BASE_URL = "http://localhost:" + APPLICATION_PORT + "/spring-rest";
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpHeaderLiveTest.java b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpHeaderLiveTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/okhttp/OkHttpHeaderLiveTest.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/OkHttpHeaderLiveTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpMiscLiveTest.java b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpMiscLiveTest.java
similarity index 95%
rename from spring-rest/src/test/java/com/baeldung/okhttp/OkHttpMiscLiveTest.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/OkHttpMiscLiveTest.java
index 207ad14e71..24617794d1 100644
--- a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpMiscLiveTest.java
+++ b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpMiscLiveTest.java
@@ -20,6 +20,9 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * Execute spring-rest
module before running this live test
+ */
public class OkHttpMiscLiveTest {
private static final String BASE_URL = "http://localhost:" + APPLICATION_PORT + "/spring-rest";
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpPostingLiveTest.java b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpPostingLiveTest.java
similarity index 94%
rename from spring-rest/src/test/java/com/baeldung/okhttp/OkHttpPostingLiveTest.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/OkHttpPostingLiveTest.java
index 66fee0b626..19e689c093 100644
--- a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpPostingLiveTest.java
+++ b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpPostingLiveTest.java
@@ -20,6 +20,9 @@ import okhttp3.Response;
import org.junit.Before;
import org.junit.Test;
+/**
+ * Execute spring-rest
module before running this live test
+ */
public class OkHttpPostingLiveTest {
private static final String BASE_URL = "http://localhost:" + APPLICATION_PORT + "/spring-rest";
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/OkHttpRedirectLiveTest.java b/libraries-http/src/test/java/com/baeldung/okhttp/OkHttpRedirectLiveTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/okhttp/OkHttpRedirectLiveTest.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/OkHttpRedirectLiveTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/okhttp/ProgressRequestWrapper.java b/libraries-http/src/test/java/com/baeldung/okhttp/ProgressRequestWrapper.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/okhttp/ProgressRequestWrapper.java
rename to libraries-http/src/test/java/com/baeldung/okhttp/ProgressRequestWrapper.java
diff --git a/libraries/README.md b/libraries/README.md
index f6a39daef1..f6f2cf4e07 100644
--- a/libraries/README.md
+++ b/libraries/README.md
@@ -36,14 +36,11 @@
- [Introduction To Docx4J](http://www.baeldung.com/docx4j)
- [Introduction to StreamEx](http://www.baeldung.com/streamex)
- [Introduction to BouncyCastle with Java](http://www.baeldung.com/java-bouncy-castle)
-- [A Guide to Google-Http-Client](http://www.baeldung.com/google-http-client)
- [Interact with Google Sheets from Java](http://www.baeldung.com/google-sheets-java-client)
- [A Docker Guide for Java](http://www.baeldung.com/docker-java-api)
- [Introduction To OpenCSV](http://www.baeldung.com/opencsv)
- [Introduction to Akka Actors in Java](http://www.baeldung.com/akka-actors-java)
-- [Asynchronous HTTP with async-http-client in Java](http://www.baeldung.com/async-http-client)
- [Introduction to Smooks](http://www.baeldung.com/smooks)
-- [WebSockets with AsyncHttpClient](http://www.baeldung.com/async-http-client-websockets)
- [A Guide to Infinispan in Java](http://www.baeldung.com/infinispan)
- [Introduction to OpenCSV](http://www.baeldung.com/opencsv)
- [A Guide to Unirest](http://www.baeldung.com/unirest)
diff --git a/libraries/pom.xml b/libraries/pom.xml
index 7823732224..f6c88197bd 100644
--- a/libraries/pom.xml
+++ b/libraries/pom.xml
@@ -25,13 +25,7 @@
${typesafe-akka.version}
test
-
-
-
- org.asynchttpclient
- async-http-client
- ${async.http.client.version}
-
+
org.beykery
@@ -871,7 +865,6 @@
2.0.0
1.7.0
3.0.14
- 2.2.0
9.1.5.Final
4.1
1.4.9
diff --git a/pom.xml b/pom.xml
index 9760e06bc1..a099dd7d68 100644
--- a/pom.xml
+++ b/pom.xml
@@ -505,6 +505,7 @@
libraries-primitive
libraries-security
libraries-server
+ libraries-http
linkrest
logging-modules
lombok
@@ -1183,6 +1184,7 @@
libraries-apache-commons
libraries-security
libraries-server
+ libraries-http
linkrest
logging-modules
lombok
diff --git a/spring-rest/README.md b/spring-rest/README.md
index 5d7894cdf8..54b47604d4 100644
--- a/spring-rest/README.md
+++ b/spring-rest/README.md
@@ -6,7 +6,6 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
### Relevant Articles:
- [Spring @RequestMapping](http://www.baeldung.com/spring-requestmapping)
- [Returning Custom Status Codes from Spring Controllers](http://www.baeldung.com/spring-mvc-controller-custom-http-status-code)
-- [A Guide to OkHttp](http://www.baeldung.com/guide-to-okhttp)
- [Binary Data Formats in a Spring REST API](http://www.baeldung.com/spring-rest-api-with-binary-data-formats)
- [Guide to UriComponentsBuilder in Spring](http://www.baeldung.com/spring-uricomponentsbuilder)
- [Introduction to FindBugs](http://www.baeldung.com/intro-to-findbugs)
diff --git a/spring-rest/pom.xml b/spring-rest/pom.xml
index 36934af101..99bdd7646d 100644
--- a/spring-rest/pom.xml
+++ b/spring-rest/pom.xml
@@ -93,13 +93,6 @@
commons-lang3
-
-
- com.squareup.okhttp3
- okhttp
- ${com.squareup.okhttp3.version}
-
-
org.hamcrest
@@ -280,8 +273,6 @@
3.0.4
3.0.0
false
-
- 3.4.1
2.2.0
3.5.11