[WebLogic/HTTP] Which HTTP Version Does WebLogic 14c Support?
1. Overview
WebLogic 14c 에서 제공하는 HTTP Version은 무엇인가요?
2. Descriptions
Overview of Configuring Web Server Components 설명에 따르면, HTTP 1.1 표준을 지원합니다.
WebLogic 14.1.1 부터 Java EE 8 / Servlet 4.0 을 지원하여, HTTP 2 또한 지원합니다.
즉, WebLogic 14.1.1 은 HTTP/1.1, HTTP/2 를 지원합니다. Other Standards
curl 유틸리티와 같은 프로그램으로 WebLogic Server에 직접적으로 호출 시 HTTP/1.1 으로 응답합니다.
1
2
3
4
5
6
7
8
9
10
11
$ curl -v http://<WLS_IP>:<WLS_PORT>/path-to-sample-app/index.jsp
* Trying X.X.X.X...
* TCP_NODELAY set
* Connected to <WLS_IP> (X.X.X.X) port <WLS_PORT> (#0)
> GET /path-to-sample-app/index.jsp HTTP/1.1
> Host: <WLS_IP>:<WLS_PORT>
> User-Agent: curl/7.61.1
> Accept: */*
>
< HTTP/1.1 200 OK
...
WebLogic 14.1.1 부터 지원되는 HTTP/2 는 기본적으로 활성화 되어 있습니다.
--http2 argument를 이용해 호출 시, HTTP/2 로 전환됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ curl -v --http2 http://<WLS_IP>:<WLS_PORT>/path-to-sample-app/index.jsp
* Trying X.X.X.X...
* TCP_NODELAY set
* Connected to <WLS_IP> (X.X.X.X) port <WLS_PORT> (#0)
> GET /path-to-sample-app/index.jsp HTTP/1.1
> Host: <WLS_IP>:<WLS_PORT>
> User-Agent: curl/7.61.1
> Accept: */*
> Connection: Upgrade, HTTP2-Settings
> Upgrade: h2c
> HTTP2-Settings: AAMAAABkAAQCAAAAAAIAAAAA
>
< HTTP/1.1 101 Switching Protocols
< Connection: Upgrade
< Date: Wed, 28 Jan 2026 01:15:13 GMT
< Content-Length: 0
< X-ORACLE-DMS-RID: 0
< Upgrade: h2c
< X-ORACLE-DMS-ECID: 81dc7a0e-2cb3-41b7-b3aa-5cbb5ede66c8-0000001e
* Received 101
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Connection state changed (MAX_CONCURRENT_STREAMS == 300)!
< HTTP/2 200
...
SSL이 활성화된 WebLogic Server에 연결 시, 기본적으로 HTTP/2 로 협상 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$ curl -v -k https://<WLS_IP>:7002/path-to-sample-app/index.jsp
* Trying X.X.X.X...
* TCP_NODELAY set
* Connected to <WLS_IP> (X.X.X.X) port 7002 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
...
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
...
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* TLSv1.3 (OUT), TLS app data, [no content] (0):
* TLSv1.3 (OUT), TLS app data, [no content] (0):
* TLSv1.3 (OUT), TLS app data, [no content] (0):
* Using Stream ID: 1 (easy handle 0x55b3a8d056f0)
* TLSv1.3 (OUT), TLS app data, [no content] (0):
> GET /path-to-sample-app/index.jsp HTTP/2
> Host: <WLS_IP>:7002
> User-Agent: curl/7.61.1
> Accept: */*
>
...
< HTTP/2 200
Chrome 등 브라우저를 통하여 HTTP 사이트에 연결하면, HTTP/1.1 으로만 협상이 됩니다.
HTTP/2 사양 자체는 Encryption 환경, 즉 SSL 사용이 필수로 요구되지 않습니다만,
여러 Browser에서는 h2c(HTTP/2 cleartext) 를 허용하지 않도록 구현하기 위해 HTTPS 사이트 연결시에만, HTTP/2 를 협상합니다.
즉, HTTP/2 표준과 이를 구현한 브라우저 에서는 다르게 동작한다는 것입니다.
Does HTTP/2 require encryption?
다음 옵션을 적용하여, HTTP/2 협상을 제어 할 수 있습니다.
앞으로 모든 통신은 HTTP/1.1 로 유지됩니다.
-Dweblogic.http.disablehttp2=true
--http2 등과 같이 명시적으로 HTTP/2 협상을 요청하면, 다음처럼 505 HTTP Version Not Supported 거부 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ curl -v --http2 http://<WLS_IP>:<WLS_PORT>/path-to-sample-app/index.jsp
* Trying X.X.X.X...
* TCP_NODELAY set
* Connected to <WLS_IP> (X.X.X.X) port <WLS_PORT> (#0)
> GET /path-to-sample-app/index.jsp HTTP/1.1
> Host: <WLS_IP>:<WLS_PORT>
> User-Agent: curl/7.61.1
> Accept: */*
> Connection: Upgrade, HTTP2-Settings
> Upgrade: h2c
> HTTP2-Settings: AAMAAABkAAQCAAAAAAIAAAAA
>
< HTTP/1.1 101 Switching Protocols
< Connection: Upgrade
< Date: Wed, 28 Jan 2026 01:17:31 GMT
< Content-Length: 0
< X-ORACLE-DMS-RID: 0
< Upgrade: h2c
< X-ORACLE-DMS-ECID: fbfe3cfc-7e18-405a-84c1-86287a9da20b-0000000e
* Received 101
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Connection state changed (MAX_CONCURRENT_STREAMS == 300)!
< HTTP/2 505
정리하면,
WebLogic 14.1.1 부터 Java EE 8.0 / Servlet 4.0 지원됨에 따라, 기본/표준 HTTP/1.1 에 HTTP/2 를 사용할 수 있습니다.
또한, SSL 환경에서는 기본적으로 HTTP/2 로 협상이 되며,
특정 옵션을 적용하여 HTTP/2 협상을 명시적으로 제어 할 수 있습니다.
HTTP/2 자체에 대해 더 많은 궁금한 사항은 HTTP/2 Home page를 참고하시기 바랍니다.
3. References
KB867747 Which HTTP Version Does WebLogic 14c Support?