Network 9

HTTP 메서드란? 멱등성

http 메서드의 기본 개념을 알아보고 주요메서드인 GET, POST, PUT, DELETE, PATCH 등의 역할과 차이에 대해 알아보자.실무에서 적절한 HTTP 메서드를 선택해보자. 또한 멱등이라는 개념을 잘 이해하는 것이 중요하다.API 설계 뿐 아니라 IO(특히 네트워크) 가 포함된 실행흐름을 설계할 때 꼭꼭 신경써야한다.  HTTP 메서드란?HTTP 메서드를 클라이언트가 서버에 요청을 보낼 때 수행할 동작을 지정하는 방식image , 영상, 음성, html, text 등 우리가 생각할 수 있는 모든 데이터를 바이너리로 전송가능하다.http 은 요청과 응답 메시지 구조가 약간 다르다.HTTP 요청과 응답 메시지는 시작라인, 헤더, message body 부분으로 이루어져 있다. 요청메시지요청메시지..

Network 2025.04.01

HTTP/ HTTPS , SSL 가속기

예전에 은행권 프로젝트를 진행하며 SSL 가속기를 접하게 되었는데, 당시에는 단순히 보안 장비라고만 생각했다. 이번 기회에 SSL 가속기의 역할과 필요성을 정리해보았다.  HTTP와 HTTPS의 차이 HTTP는 평문 데이터를 전송하는 프로토콜이기 때문에, HTTP 로 중요한 정보를 주고받으면 제 3자에 의해 조회될 수 있다.이러한 문제를 해결하기 위해 HTTP 에 암호화가 추가된 프로토콜이 HTTPS  입니다.HTTPS 는 SSL 의 껍질을  덮어쓴 HTTP 라고 할 수 있습니다.SSL(Secure Socket Layer)  인터넷을 통해 전달되는 정보를 보호하기 위해 개발한 통신 규약클라이언트와 서버가 서로 데이터를 암호화해 통신할 수 있도록 돕는 보안계층TCP 4계층의 암호화 프로토콜HTTP 는 원래..

Network 2025.03.19

L4 , L7 로드밸런서

L4 , L7 로드 밸런서의 정의와 특징에 대해 알아보자!  L4 로드 밸런서 정의 L4 로드 밸런서는 전송 계층 (Transprot Layer, Layer 4)에서 작동하는 로드밸런서로, 주로 TCP 및 UDP 프로토콜 기반으로 클라이언트와 서버 간의 트래픽을 분산시킵니다. L4 로드 밸런서는 클라이언트의 IP 주소와 포트,  서버의 IP 주소와 포트를 기반으로 로드밸런싱을 수행합니다. L7 로드 밸런서 정의L7 은 로드밸런서는 애플리케이션 계층 (Application Layer, Layer 7)에서 작동하는 로드 밸런서로, 주로 HTTP  및 HTTPS 프로토콜 기반으로 클라이언트와 서버 간의 트래픽을 분산시킵니다. L7 로드밸런서는 요청 내용 (URL, 헤더, 쿠키) 등을 기반으로 로드 밸런싱을 수..

Network 2025.02.12

TCP/IP 네트워크 이해하기 (4) - TCP

4계층 프로토콜 전송 계층 (Transport layer) 은 송신자의 프로세스와 수신자의 프로세스를 연결하는 통신 서비스를 제공한다.전송 계층은 연결 지향 데이터 스트림 지원, 신뢰성, 흐름제어 , 그리고 다중화와 같은 편리한 서비스를 제공한다, 전송 프로토콜 중 가장 잘 알려진 것은 연결 지향 전송 방식을 사용하는 전송 제어 프로토콜(TCP) 이다.보다 단순한 전송에 사용되는 사용자 데이터그램 프로토콜(UDP) 도 있다. 포트 번호특정 프로세스와 특정 프로세스가 통신을 하기 위해 사용한다. 하나의 포트는 하나의 프로세스만 사용가능하다.하나의 프로세스가 여러개의 포트를 사용하는 것은 가능하다.포트 번호는 일반적으로 정해져 있지만 무조건 지켜야하는 것은 아니다. TCP 프로토콜 TCP 가 하는 일  전송..

Network 2025.01.27

TCP/IP 네트워크 이해하기 (4) - IPv4, ICMP

IPv4 프로토콜과 패킷의 전송 과정 이해하기 IPv4 프로토콜이란? IPv4는 네트워크 계층에서 사용되는 프로토콜로, 다른 네트워크의 특정 대상에게 데이터를 전송하는 역할을 한다.전송의 신뢰성은 보장하지 않으며, 신뢰성 보장은 전송 계층(TCP 등)에서 담당한다. IP 헤더는 IP 패킷의 앞부분에 위치하며 IP 주소를 비롯한 각종 제어 정보를 담고 있다. IPv4 헤더는 고정 부분 20 바이트와 가변 부분 0~40바이트로 구성되어 있다. 옵션을 지정하지 않았을 때는 최소 크기는 20바이트이다. 버전 : 버전(Version)은 IP의 버전을 나타내는 영역이다. IPv4이므로 4이다.헤더 길이 : 헤더 길이(Header Length)는 4바이트를 기본 단위로 헤더의 길이를 규정하는 영역이다. IPv4에서는..

Network 2025.01.27

TCP/IP 네트워크 이해하기 (2) - 2계층에서 하는 일

2계층(데이터링크 계층)의 역할 물리 계층을 이용해 네트워크 장비 간에 데이터를 전송한다.데이터 링크 계층에서는 일반적으로 이더넷(Ethernet) 프로토콜이 사용된다.  2계층은 하나의 네트워크 대역 즉 같은 네트워크 상에 존재하는 여러 장비들 중에서 어떤 장비가 어떤 장비에게 보내는 데이터를 전달한다.  추가적으로 오류제어 , 흐름제어(누가 누구한테 데이터를 보내는지) 수행한다. 2계층은 하나의 네트워크 LAN 에서만 통신할 떄 사용한다.  다른 네트워크와 통신할 때는 항상 3계층이 도와주어야 한다.3계층의 주소와 3계층의 프로토콜을 이용하여야만 다른 네트워크와 통신이 가능하다. 원하는 목적지에만 데이터를 전달한다.물리계층에서 사용된 허브는 특정한 컴퓨터 한대에만 데이터를 보내려해도 나머지 모든 컴퓨..

Network 2025.01.24

TCP/IP 네트워크 이해하기 (1)

네트워크 통신에서 프로토콜의 중요성 우리가 사용하고 만드는 대부분의 인터넷 서비스는 TCP/IP를 이용해 통신한다.휴대폰 어플에서 인터넷이 안된다고 가정해보자. 아마 이용할 수 있는 어플이 상당히 제한적일 것이다. 어떻게 네트워크를 통해 데이터가 오가는지를 이해하면, 튜닝을 통한 성능 개선이나, 트러블 슈팅등에많은 도움이 된다고 한다.  이번 글에서는 네트워크에서 데이터가 어떻게 오가는지에 대해 살펴보자.  프로토콜 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위한 필요한 통신 규약.신호 송신이 순서, 데이터의 표현법, 오류 검출법 등을 정함.   편지를 보내는 비유 편지를 보낼때 우편번호, 보내는 주소,  우표 등을 꼭 적어야 한다. 우표를 붙이지 않거나 잘못된 주소..

Network 2025.01.24

HTTP 특징 (Stateless, connectionless)

HTTP 특징http 는 클라이언트 서버 구조로 되어있다. (Request Response 구조)클라이언트가 http 메시지로 서버에 요청을 보내고 서버의 응답이 올때까지 기다린다.서버는 요청에 대한 결과를 만들어서 클라이언트에게 응답한다. 클라이언트 서버 구조는 클라이언트는 UI , 사용성에 집중할 수 있고 서버는 비즈니스 로직에 집중할 수 있는 이점이 있다.양쪽이 독립적으로 진화할수 있다는것이 가장 큰 이점이다.  Stateless vs Stateful 정리 stateless 특성은 응답에 필요한 정보를 모두 실어보내기때문에 중간에 서버가 바뀌어도 올바른 응답을 할 수 있다. 따라서 스케일 아웃이 가능하다. 애플리케이션 설계시 최대한 무상태성으로 설계를 하고 필요한 경우에만 stateful 방식을 취..

Network 2025.01.13

DB와 WAS 간 TCP 통신: 효율적인 커넥션 관리와 흐름, 혼잡 제어

DB와 WAS 서버 간의 통신을 위한 TCP 통신 과정DB 드라이버를 통해 TCP/IP  커넥션을 연결 후 ID ,PW 등을 DB 서버로 보내 내부 인증을 완료하면 생성된 커넥션 객체를 응답받을 수 있다.  초기 TCP/IP 연결 과정(DB 커넥션 풀이 필요한 이유) 초기에 TCP/IP 로 연결하는 과정에서 3 way handshake 로 초기 연결을 하는 과정에서 시간이 많이 걸린다.때문에 DB 호출시 커넥션을 맺게되면 쿼리하는 비용보다 커넥션을 맺는 비용이 더 클수 있다.때문에 TCP/IP 로 DB 와 WAS 서버가 연결된 커넥션들을 커넥션 풀에 미리 생성을 해놓고 애플리케이션 로직은 언제든지 커넥션 풀에 이미 생성되어있는 커넥션 객체 참조를 가져다 쓴다. TCP 커넥션을 맺는 비용은 왜 비쌀까?연결..

Network 2025.01.12