프로젝트 초반에는 단순히 편하게 HTTP를 사용했는데, 나는 그럼 왜 HTTP를 사용했던 것일까?
1. HTTP란
HyperText Transfer Protocol
웹에서 정보를 주고받기 위해 약속된 통신 규칙(프로토콜이다)
클라이언트와 서버 사이에서 HTML, JSON, 이미지 등 다양한 리소스를 텍스트 기반으로 요청하고 응답하는 방식이다.
2. 왜 HTTP가 기본이 되었을까?
-일단 전세계의 웹브라우저와 서버가 모두 HTTP를 기본 통신규약으로 채택했기 때문
-그리고 텍스트 기반의 요청(GET,POST 등) 에 응답(200 ok, 404등)을 사용하여 배우고 쓰기 쉽다.
-확장성이 좋다고 한다.: 쿠키, 세션, 인증 등 다양한 기능을 쌓아올리기가 쉽다고
-또한 모든 웹 개발 기술 React, Spring, Node 등이 모두 HTTP를 기본으로 삼았다고.
3. 그외의 다른 프로토콜?
FTP: 파일전송용 프로토콜로 보안에 취약해서 현대에는 거의 쓰지 않는다고 한다.
SMTP, IMAP: 이메일 전송, 수신 용도로 특수목적이라 일반 웹과는 무관하다고 함
WebSocket : 실시간 양방향 통신으로 채팅이나 게임 등에만 쓴다.
-> 생각해보면 FTP도 수업시간에 써본것 같고, SMTP도 프로젝트하면서 간단하게 썼던것 같고,
WebSocket으로도 실습을 해보았다.
그러면 HTTPS는?
사실 현대의 많은 웹사이트들은 모두 HTTPS를 사용하고 있다.
이는 HTTP에 secure 즉 보안이 더해진 방식이다.
개발할때는 http로 하더라도, 운영할때는 실질적으로 https를 써야하는 것이 필수.
여기서 HTTP/1.1, HTTP/2, HTTP/3 이런 종류들이 있는데,
간단한 테스트를 위한 개발 서버들은 주로 HTTP/1.1 (기본 톰캣 설정)이라고 하고,
실제 서비스되는 경우, 속도가 중요한 경우 HTTP/2 (Nginx 등 활용) - 병렬형구조라고 한다.
'SPRING' 카테고리의 다른 글
[Develop] nGrinder : script 작성하기 (2) | 2025.04.10 |
---|---|
[Develop] nGrinder, Docker에서 실행하기 (0) | 2025.04.10 |
[Develop] 전역적 CORS 설정 안되었던 이유_Spring MVC (0) | 2025.04.09 |
[Develop] 고질적인 문제, inputRow() 두 번 실행되는 문제 해결하기 (0) | 2025.04.09 |
[Develop] 부하테스트_nGrinder 사용법 (0) | 2025.04.08 |