Intellij Ultimate Tomcat setting

좌측 상단 위치에 있는 Run  -> Run..->

-> Edit Configurations...

-> + button 클릭,

+ Button 누를 시, 목록 창이 나온다. 내리다보면 Tomcat server이 있다. -> Local 클릭

Tomcat을 Install한 경로에 가서, apache-tomcat-10.1.7 Folder를 클릭 후, Ok button 클릭.

이후 Deployment 클릭.

Deployment에 "+" Click -> "Artifact" Click

두 번째 Gradle : hello : server-0.0.1-SNAPSHOT.war (exploded) click

Application context에 있는 text를 전부 지운다.

이후 Run Click

이후 정상가동 된 것을 확인한다.

2023-03-11 트러블슈팅 사례

2023-03-11 장소: Statdom PC

 

 cmd((Command Prompt, cmd.exe) 오류

 

Tomcat server 종료 할려고 cmd에서 shutdown.bat 입력 하였는데

아래의 Error message 출력 되었다.

"C:\Users\Administrator>C:\Windows\System32\apache-tomcat-10.1.7\bin\shutdown.bat

The CATALINA_HOME environment variable is not defined correctly

This environment variable is needed to run this program"

 

 

 

해당 오류는 "shutdown.bat" 파일이 CATALINA_HOME 환경 변수를 찾지 못해서 발생 하는 것이었다.

CATALINA_HOME 환경 변수는 Apache Tomcat이 설치된 경로를 가리켜야 한다.

 

시스템 환경 변수 편집에서  새로만들기를 눌러서(기존에 있던 경로면 수정)

변수 이름을 "CATALINA_HOME"으로 입력하고, 변수 값에 Apache Tomcat이 설치된 경로를 입력한다. 예를 들어, "C:\Program Files\Apache Software Foundation\Tomcat 10.1"와 같이 입력 후 해결 되었다.

2023-03-11 트러블슈팅 사례

2023-03-11 장소: STARDOM PC

IDE : intellij Ultimate

intellij ultimate Terminal에 ./gradlew build 입력 후

PS C:\Users\Administrator\Desktop\boot-source-20230228\complete\server> ./gradlew build

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

Error Message 발생

자바 환경 변수 Path 설정 오류로 인한 문제 추측

Path 설정을 %JAVA_HOME%으로 했으나

%JAVA_HOME%bin으로 변경 후 재실행,

해결 완료.

Google Firebase key error

Firebase

Firebase에서 Key값을 "그대로" Copy를 하게 되면

const firebaseConfig = {

  apiKey: "Your app key", //여기에 발급받은 앱 키 넣기 

  authDomain: "reactchat-da039.firebaseapp.com",

  projectId: "reactchat-da039",

  storageBucket: "reactchat-da039.appspot.com",

  messagingSenderId: "242656429239",

  appId: "1:242656429239:web:c521465b36d5cbc662f932"\};

이렇게 Copy 된다. 허나 이대로 paste 하면 오류가 발생하였다.

{

    "apiKey": "Your app key", //여기에 발급받은 앱 키 넣기 

    "authDomain": "reactchat-da039.firebaseapp.com",

    "projectId": "reactchat-da039",

    "storageBucket": "reactchat-da039.appspot.com",

    "messagingSenderId": "242656429239",

    "appId": "1:242656429239:web:c521465b36d5cbc662f932"

  }

key값에 " "를 붙여주어 해결 완료.

일반적인 경우 테이블에 있는 모든 자료를 조회할 필요 없이 사용자가 원하는 자료를 조회하는 경우가 대부분 이다. 이러한 질의를 만족하게 하는 것이 WHERE절 이다.

 

WHERE절은 수행될 조건 절을 포함하며 FROM절 바로 다음에 기술된다.


1.1 Syntax

SELECT	[DISTINCT] 	{*, column [alias], . . .}
 	FROM		table_name
 	[WHERE		condition]
 	[ORDER BY	{column, expression} [ASC | DESC]];

DISTINCT : 중복 행 제거 옵션
*  : 테이블의 모든 column 출력
alias  : 해당 column에 대한 다른 이름 부여
table_name : 테이블명 질의 대상 테이블 이름
WHERE  : 조건을 만족하는 행들만 검색 condition column명, 표현식, 문자 상수, 숫자 상수, 비교 연산자로 구성된다.
ORDER BY  : 질의 결과 정렬을 위한 옵션(ASC:오름차순(Default),DESC내림차순)

 

 

문제1) EMP 테이블에서 급여가 3000이상인 사원의 정보를 사원번호, 이름, 담당업무, 급여를 출력하여라.

SQL> SELECT empno,ename,job,sal
  2  FROM emp
  3  WHERE sal >= 3000;

    EMPNO ENAME      JOB             SAL
--------- ---------- --------- ---------
     7839 KING       PRESIDENT      5000
     7902 FORD       ANALYST        3000
     7788 SCOTT      ANALYST        3000

'SQL' 카테고리의 다른 글

DBeaver low 추가/테이블의 특정 컬럼 추출 방법/ORDER BY  (0) 2023.05.14
문자형 함수  (0) 2023.05.12
Order By  (0) 2023.05.12
LIKE,IS NULL,AND,OR,NOT  (0) 2023.05.12
Between,IN  (0) 2023.05.12

2023/03/05 트러블슈팅

PS C:\Users\Administrator\Desktop\fc-my-books-master (2)> node -v
node : 'node' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.
위치 줄:1 문자:1
+ node -v
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (node:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 
PS C:\Users\Administrator\Desktop\fc-my-books-master (2)> 
Starting the development server...

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\loader-runner\lib\LoaderRunner.js:214:10) 
    at iterateNormalLoaders (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\react-scripts\scripts\start.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\NormalModule.js:417:16)
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\NormalModule.js:452:10
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\webpack\lib\NormalModule.js:323:13
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\loader-runner\lib\LoaderRunner.js:367:11
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\loader-runner\lib\LoaderRunner.js:233:18
    at context.callback (C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at C:\Users\Administrator\Desktop\fc-my-books-master (2)\node_modules\babel-loader\lib\index.js:59:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
      }

npm start 했을 때, 위와 같이 오류 출력 되었음.

--오류 원인 추측--

node.js version을 down grade 및 openssl 설치를 했어야 한다.

--해결 방안--

NVM 설치하고 Node js 버전관리하는 방법.

1.nvm 설치

Releases · coreybutler/nvm-windows

다운로드하여 압축을 풀면 nvm-setup.exe 파일을 실행하여 nvm을 설치.

설치 후 커멘드창에서


nvm version

or

nvm -v


입력 enter를 치면 버전을 확인할 수 있다.

2.nvm으로 node 설치하기

nvm 명령어로 node 를 설치할 수 있다.

명령어는 다음과 같이 작성.

nvm install v12.22.9 64

node 버전을 확인하여 설치하고 싶다면 버전은 아래의 링크에서 확인할 수 있다.

이전 릴리스 | Node.js

설치 후 설치된 node 버전 목록을 확인하려면 다음과 같은 명령어를 입력해준다.

터미널이나 cmd 같은 프로그램을 실행 시 관리자 권한으로 실행해야 버전을 변경할 수 있다

라고는 하는데, 해당 트러블 슈팅시 관리자 권한은 실행하지 않았다.

nvm ls 입력 후 엔터

3. nvm 으로 버전 변경하기

그럼 목록이 나오고 설치한 node 버전 목록 중 사용하고 싶은 버전의 node로 변경하려면

다음과 같은 명령어를 입력하여 실행해준다.

nvm use 12.22.9

4.OPENSSL 설치

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

2번째 설치한다.

환경변수 설정한다. (당시 구동 확인된 환경변수)

C:\Program Files\OpenSSL-Win64\bin

node_modules\npm\bin

%NVM_HOME%

%NVM_SYMLINK%

위의 환경변수 path는 중요한 것 같으니, 없으면 복사 붙여넣기를 해보는게 좋을 것 같다.

아래 경로도 혹시 모르니 첨부 함.

C:\Windows\System32\OpenSSH\

그리고 새로만들기로

OPENSSL_CONF

C:\Program Files\OpenSSL-Win64\bin\cnf\openssl.cnf

이렇게 생성 해준다.

이후 구동확인 완료.

 

 

 


참고 사이트

NVM 설치하고 Node js 버전관리하는 방법.

Windows 윈도우10에 OpenSSL 설치

에러 사진

2023/03/04 트러블 슈팅 사례

장소: STARDOM PC

파일 경로 F->javaedu10->project

                                                 설치 상태

1.Intellij Community Edition Download

2.Java 17se version download, 환경변수 설정 완료.

Java Archive Downloads - Java SE 17

3.SQL Developer 22.2.1 설치/javaedu10/project

Oracle SQL Developer Downloads

4.git bash 64bit for windows 설치

Git - Downloading Package

5.파일 경로 F->javaedu10->project에서 빈 곳 오른쪽 클릭 후

"git bash Here"  클릭

열려진 git bash 창에 

$ git clone https://github.com/sang105kr/demo1

입력 후 Enter(프로젝트 생성).

6.Oracle Database XE Downloads 다운로드, 이후 설치 시 비밀번호는 admin1234로 한다.

Oracle Database Express Edition (XE) 18c Downloads

7.javaedu10->project 경로의 Oracle developer 접속 후 새 접속 클릭

8.해당 계정 생성

Name:admin

사용자 이름:"sys as sysdba"

비밀번호:admin1234(Oracle Database XE Downloads 설치 시 설정했던 비밀번호)

이후 worksheet에

GRANT CONNECT, RESOURCE, DBA TO sys WITH ADMIN OPTION; 입력 후 F5 누르기(선택 사항, 안해도 해결 되었었다. 혹시 모르니 기입.)

9.intellij 환경 설정. 하단 참조

10.application.properties에 밑의 코드를 복사 붙여넣기 한다.

#server
server.port:9080

#Database
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe
spring.datasource.username=sys as sysdba
spring.datasource.password=admin1234

이후 DemoApplication 실행 하면

2023-03-04T07:37:14.230+09:00 ERROR 1760 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

2023-03-04T07:37:14.231+09:00  WARN 1760 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

2023-03-04T07:37:14.234+09:00  INFO 1760 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]

2023-03-04T07:37:14.244+09:00  INFO 1760 --- [  restartedMain] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.

2023-03-04T07:37:14.260+09:00 ERROR 1760 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

이라고 Error 뜨던 것이

잘 실행 된 것을 확인 할 수가 있다.

구동 확인.

intellij 환경 설정

Help>Edit Custom VM Options..
≫ 인코딩 추가 설정
✓ -Dfile.encoding=UTF-8
✓ -Dconsole.encoding=UTF-8
IJ File Edit View Navigate Code Refactor Build Run Tools
mypc AppData Roaming JetBrains IdealC2022.1
C: Users
idea64.exe.vmoptions X
Commit Project
Pull Requests
^^^ ^>
<
produc 1
.gra
ide: 2
3
grac
out
sql
src
.giti
a.tx
buil
grad
grac
setti
> IIII Externa
>
Scratch
application.properties Xx
-Xmx2043m
Git Window Help product - C:WUsers#mypc#AF
idea64.exe.vm
Find Action...
Ctrl+Shift+A
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
? Help
Learn IDE Features
What's New in IntelliJ IDEA
Getting Started
IntelliJ IDEA on YouTube
Keyboard Shortcuts PDF
Tip of the Day
My Productivity
Contact Support...
Submit a Bug Report...
Submit Feedback...
Show Log in Explorer
Collect Logs and Diagnostic Data
Delete Leftover IDE Directories...
Diagnostic Tools
Change Memory Settings
Edit Custom Properties...
Edit Custom VM Options...
Check for Updates...
Register Plugins...
About

Localhost)2023/03/02~03 Troubleshooting

 

Localhost)2023/03/02~03 Troubleshooting

오류 발생

IDE : intellij(Community Edition)version

오류 :

Demo1Application run -> localhost:9080 Connected-> Static file index.html -> HTML console error message in "Failed to load resource: the server responded with a status of 404 (Not Found)"

Tomcat 가동된 것을 확인, 이후 localhost:9080에 접속 하였으나

404Error가 발생, thymeleaf에 있는 HTML이 뜨지 않고, Static에 있는 index.html이 계속 뜨게 되었다.

위의 사진과 같이 나와야 정상. 허나 Tomcat이 가동 중임에도 불구 하고

localhost:9080 접속 시,static/index.html만 클라이언트에서 가동 됨.

1.오류 해결 시작: 높은 원인을 우선적으로 조사

1.Port kill (How to Port kill 문서 참조) Port number를 9081~9083 변경 하였음 (실패)

2.컴퓨터 재부팅(실패)

3.인터넷 검색 후 원인 파악(실패)

4.각종 환경 설정(실패)

에러 해결 --- 경로 설정 이상이 원인으로 추측됨.

D->javaedu10->project 파일 경로 들어간다.

$ git clone https://github.com/sang105kr/demo1

위의 것을 Git bash에 추가

HTTP 1.1/2.0/3.0

HTTP 1.1

HTTP/1.1은 1999년에 발표된 HTTP 프로토콜의 최신 버전이며, 이전 버전인 HTTP/1.0보다 개선된 기능을 제공한다. HTTP/1.1에서는 커넥션 관리, 캐시, 프락시 지원, 인증 등의 기능이 개선되었으며, 보안 기능도 추가되었다.

또한, HTTP/1.1은 기본적으로 지속 커넥션(Persistent Connection)을 사용하므로, 클라이언트와 서버 간의 연결을 유지하고, 한 번의 연결로 여러 개의 요청과 응답을 처리할 수 있다. 이로 인해 네트워크 부하를 줄이고, 웹 페이지 로딩 속도를 높일 수 있다.

현재도 많은 웹 브라우저와 웹 서버가 이 버전을 지원하고 있다.


HTTP 2.0

2015년 IETF에 의해 공식적으로 발표된 HTTP/1.1의 후속 버전이다. HTTP/2의 차기 버전은 HTTP/3이다.

표준에서 TLS를 요구하는 것은 아니지만, SPDY에서 TLS를 요구했던 여파로 인해 모든 메이저 브라우저들이 TLS없이는 HTTP/2를 지원하지 않고 있다. 즉,TLS가 없으면 무조건 HTTP/1.1로 요청한다.

웹2.0과는 전혀 관계가 없다. 웹2.0은 2004년 나온 웹의 포괄적 개념으로 현재는 사문화되었다. HTTP/2는 프로토콜로 분야가 다르다.

2020년부터 HTTP/3 규격도 진행되고 있으며, 구글이나 유튜브 등의 주요 웹사이트들에서는 이미 적용 중이다.

바이너리 프로토콜을 사용한다.


HTTP/1.1에서의 개선점

① Head of line blocking(HOL)

HTTP/1.1까지는 한 번에 한 파일밖에 보내지 못했다. 그래서 특정 파일의 로딩이 늦어지면 다른 파일까지 줄줄이 느려지는 병목 현상이 생기게 된다. 그래서 여러 파일을 한꺼번에 병렬 전송을 하는 식으로 로딩 시간을 줄이는 방법을 사용한다.

② 중복 헤더의 제거

같은 내용의 헤더를 보낼 경우, 생략해버리는 식으로 처리함으로써 속도를 높이는 방식이다.

③ Header compression

이전까지는 HTTP 헤더가 평문이었지만, HTTP/2에서는 헤더를 압축하여 용량 대비 처리 효율성을 높이는 방법을 사용한다. 압축을 하기 때문에 헤더 크기 자체도 크게 줄어든다.

④ Server push

특정 파일을 서버에 지정해서 HTTP 전송 시 같이 밀어 넣는 방식이다. 주로 JavaScript나 CSS, 글꼴, 이미지 파일 등을 지정한다.

⑤ Prioritization

웹 페이지를 구성하는 파일의 우선순위를 둘 수 있다. 로딩이 빨리 되어야 하는 파일과 그렇지 않은 파일을 구분해줄 수 있고, 이들 사이에서도 중요도를 차등 배분할 수 있다.


이전까지는 HTTP/2를 지원하는 한국 사이트는 손에 꼽힐 정도였으나, 2020년을 기점으로 꾸준히 증가하여 현재는 대부분의 웹사이트가 지원하고 있다.

하지만, HTTP/2.0을 지원하지 않는 서버나 브라우저가 여전히 많이 사용되고 있다.

HTTP/2.0을 사용하는 경우 일부 사용자들이 웹사이트를 제대로 사용할 수 없는 경우도 있다. 또한, HTTP/2.0은 TCP 커넥션을 유지하는 동안 메모리 사용량이 증가하는 문제가 있을 수 있다.

HTTP/2.0을 사용하기 위해서는 SSL/TLS 암호화가 필수적이다. HTTP/2.0은 바이너리 프로토콜을 사용하여 데이터를 전송하므로, 데이터의 보안성이 중요합니다. 따라서, HTTP/2.0은 반드시 SSL/TLS 암호화된 연결을 사용해야 한다.

실제로, 모든 주요 브라우저에서 HTTP/2.0을 지원할 때는 SSL/TLS 암호화된 연결을 사용해야만 한다. 이를 위해 HTTPS 프로토콜을 사용하여 웹사이트의 보안을 강화하고, HTTP/2.0의 장점을 최대한 활용할 수 있다.

따라서, HTTP/2.0을 사용하려면 SSL/TLS 암호화된 연결을 설정해야 한다. SSL/TLS 인증서를 구매하거나, Let's Encrypt와 같은 무료 인증 기관을 통해 SSL/TLS 인증서를 발급받을 수 있다.

HTTP/1,HTTP/2 성능 비교


                              HTTP version 확인 하기

이렇게 Protocol tap에 오른쪽 클릭 후, protocol을 누르면, 해당 웹사이트의 HTTP 버전을 확인가능하다.

안 보인다면 Name tap에서 오른쪽 클릭 하면,

프로토콜을 체크하면 된다.


HTTP/3

HTTP의 3번째 메이저 버전으로 HTTP/2의 차기 버전이다. 2022년 6월 6일, IETF RFC 9114로 표준화되었다.

HTTP/1 및 HTTP/2가 TCP로 통신하는 것과는 달리 HTTP/3는 UDP 기반의 QUIC 프로토콜을 사용하여 통신한다. 원래는 이름이 HTTP-over-QUIC였지만, IETF 내에 있는 QUIC 작업 그룹의 의장인 마크 노팅업이 HTTP/3라는 이름을 제안하여 변경되었다. HTTP/3의 기반이 되는 QUIC도 역시 웹 표준이며 RFC 9000으로 표준화되어 있다.

HTTP/2 대비하여 가장 큰 장점 3가지는, Zero RTT(Round Trip Time), 패킷 손실에 대한 빠른 대응, 사용자 IP가 바뀌어도 연결이 유지되는 것이다. 일반적인 웹 환경에서는 HTTP/2와 HTTP/3의 차이가 크지 않을 수 있으나, 동영상 서비스 등에서는 큰 차이를 보인다. 예를들어, 모바일 기기처럼 인터넷 연결 상태가 고르지 못한 경우라든지, WiFi에 연결하여 동영상을 시청하는 도중에 자리를 이탈하여 셀룰러 신호로 바뀌더라도 HTTP/3로 연결되어 있으면 영상을 끊김없이 시청할 수 있다. 패킷 전송에 있어서 제약이 거의 없는 비연결성 전송 계층을 기반으로 TCP 프로토콜의 무결성 보장 알고리즘과 SSL이 이식됨으로써 높은 성능과 동시에 충분히 괜찮은 정확성과 부인방지 특성을 충족시켰다.

HTTP/3와 그 기반 기술인 QUIC은 TLS 암호화를 기본적으로 사용한다. 다만, TLS가 TCP를 염두에 두고 설계되어 있기 때문에 QUIC의 원저작자인 구글의 알고리즘대로 일부 수정을 거쳐서 사용한다. UDP와 TLS가 결합된 기술로는 DTLS라는 기술도 있지만 'TCP의 재구현'이 목표 중 하나인 QUIC와는 지향하는 바가 다르다.

구글 자체 프로토콜이었던 QUIC가 HTTP/3로 표준화됨에 따라서 IETF 측에서는 구글이 독자적으로 개발했던 QUIC 프로토콜의 파편화된 구현 알고리즘을 기존의 다른 프로토콜과 상호운용이 용이하도록 대폭 수정하는 과정을 진행중이다. QUIC 내에서 IETF 표준 대비 가장 큰 파편화를 보인 부분이 보안 소켓이다. IETF는 구글이 자체적으로 개발한 보안 소켓을 IETF 표준 프로토콜인 DTLS로 대체하는 QUIC over DTLS 표준을 만들고 있었지만 QUIC 워킹 그룹에서 다른 방법을 모색하는 것으로 결론짓고 해당 표준의 제작을 중단했다. #

성능이 떨어지는 컴퓨터는 QUIC 프로토콜로 인해 크롬 브라우저가 느려진다. 그럴 때는 주소창에 "chrome://flags/"를 입력해 Experiments로 들어간 다음 Experimental QUIC protocol을 검색하여 비활성화해주면 빨라질 수 있다.


HTTP/3가 적용된 사이트

HTTP/3를 지원하는 주요 웹사이트로는,

구글

유튜브

구글이 제공 중인 대부분에 서비스에 적용되어 있다.

네이버

나무위키

페이스북

인스타그램

넷플릭스

줌 비디오 커뮤니케이션

 

 

 

 

 

참고 사이트

1.https://blog.bespinglobal.com/post/http1-1-http2/

HTTP1.1, HTTP2 비교 - BESPIN Tech Blog

2.https://developnote-blog.tistory.com/entry/HTTP20-%EC%A0%81%EC%9A%A9

HTTP/2.0 적용

3.https://pythonblog.co.kr/blog/79/

73 HTTP/2 적용 및 확인하기-curl

'HTTP 웹 기본 지식' 카테고리의 다른 글

DNS  (0) 2023.05.29
네트워크 상에서 데이터의 이동 이해하기  (0) 2023.05.29
TCP/UDP  (0) 2023.04.20
html에서 이미지를 보는 방법  (0) 2023.04.13
IP(인터넷 프로토콜)  (0) 2023.04.13

응용 계층에서 물리 계층까지(위에서 아래로) A-P-S-T-N-D-P

모든 사람은 데이터 처리가 필요한 듯 하다(All-People-Seem-To-Need-Data-Processing)

물리 계층에서 응용 계층까지 (아래서 위로) P-D-N-T-S-P-A

소시지 피자를 버리지 말아 주세요(Please-Do-Not-Throw-Sausage-Pizza-Away)

+ Recent posts