반응형

2024/09 10

웹 아키텍처 분석

웹 아키텍처일반적인 웹 아키텍처는 클라이언트, 웹 서버, 데이터베이스의 형태로 되어 있다.영역 별로 프론트 엔드(Front-End)와 백 엔드(Back-End)로 나뉜다.그리고 오늘날의 웹 개발자들은 크게 프론트 엔드 개발자, 백 엔드 개발자, 이 둘을 전부하는 풀 스택 개발자로 나뉜다.웹 아키텍처 동작 원리 분석클라이언트 측에서 사용자가 웹 브라우저를 통해서 사이트 접속을 하게 된다.그러면 웹 브라우저에서는 가장 먼저 도메인에 따른 IP 변환 작업을 한다.이유는 데이터 전송을 위해서는 IP가 반드시 필요하기 때문이다.이후에 요청 메세지를 제작한다.HTTP 프로토콜은 TCP/IP 통신을 기반으로 하기 때문에 TCP 연결의 특징인 3-way hand shake 과정을 거친 후 HTTP 데이터를 전송하게 된..

Network 2024.09.08

쿠키와 세션

상태 유지 및 관리의 필요성최초의 웹은 단순히 문서를 전달 받고 정보를 공유하는 목적으로 사용되었으며, 이 경우에는 상태 유지 및 관리가 굳이 필요하지 않다.그러나 오늘날의 웹은 쇼핑몰에서 원하는 상품을 장바구니 혹은 카트에 담고 쇼핑이 완료되면 결제하고 결제가 완료되면 정상적으로 결제가 되었는지 확인을 하며, 예상 도착일을 본다.또한, 한번의 로그인을 통한 다른 페이지 접근 할 경우 나에 대한 상태 정보가 유지된다.이러한 상태 유지 및 관리와 사용자 인증 수단을 위해서라면 쿠키가 사용된다.(내가 만든 쿠키🍪~~ 너를 위해 구웠지!🍪)쿠키쿠키를 통해 사용자 식별 및 세션 유지를 통해 클라이언트와 서번 간의 상태 관리를 한다.웹의 중요한 기술 중의 하나로 현재 가장 많이 사용되고 있는 인증 방식이다.쿠..

Network 2024.09.08

HTTP GET / POST

HTTP(Hypertext Transfer Protocol)에서 GET과 POST는 웹 서버와 클라이언트 간에 데이터를 요청하거나 전송할 때 사용하는 가장 일반적인 두 가지 메서드다. 이 둘은 목적과 동작 방식에서 중요한 차이점이 있으며, 각각의 사용 사례에 따라 적절히 선택해야 한다. HTTP GETGET 메서드는 클라이언트가 서버로부터 데이터를 요청할 때 사용된다. 서버는 요청에 응답하여 요청된 데이터를 반환하며, GET 요청은 주로 읽기 작업을 수행하는 데 사용된다.특징데이터 전송 방식 : GET 요청에서는 요청 데이터를 URL의 쿼리 문자열에 포함하여 서버에 전송한다. 쿼리 문자열은 ? 뒤에 key-value 쌍으로 이루어지며, 여러 개의 매개변수를 &로 연결한다.EX) https://exampl..

Network 2024.09.08

웹의 핵심 기술 HTTP 프로토콜

개념팀 버너스 리 박사에 의해 개발된 HTTP(Hypertext Transfer Protocol)는 하이퍼텍스트 문서를 전송하기 위해 사용되는 프로토콜통신 규약으로 웹의 핵심 기술여기서 말하는 하이퍼 텍스트 문서는 HTML파일버전HTTP/0.9최초로 웹이 만들어 졌을 때 오직 HTML을 받아 오기 위해 만들어 졌다.그리하여 버전 번호도 없고 명세서도 없으며, 정식 사양이 아니었다.이후 HTTP/1.0부터 정식 사양으로 되면서 이전이란 의미로 HTTP/0.9라는 버전이 붙여졌다.HTTP/0.9은 GET 메서드만 지원하며, 특별한 기능은 없다.HTTP/0.9에서 HTTP/1.0로 빠르게 대체되었다.HTTP/1.0HTTP의 정식 사양으로 처음으로 널리 사용하기 시작한 버전으로 RFC1945가 발행되었다.HTT..

Network 2024.09.08

자원을 지정하는 URL

개념URL(Uniform Resource Locator)통합 자원 지시자로 인터넷의 리소를 가리키는 표준 명칭으로 서버의 자원을 요청할 때 사용된다.인터넷 상읠 모든 리소를 요청할 수 있으며, 우리가 흔히 알고 있는 HTTP 뿐만 아니라 FTP, SMTP 관련된 자원 요청도 가능하다.동작 원리먼저 이렇게 클라이언트 측에서 url 요청을 하게 된다.웹 서버 측에서는 파일 입출력을 통해 파일을 입력 받게 된다.파일 입력을 이용해서 실제 서버 내의 파일 시스템에 있는 웹 루트 하위의 자원을 불러낸다.불러낸 자원을 웹 서버의 응답 로직에 따라 처리한다.자원을 부른 다음에 실제 바디값 응답 메세지를 작성한 다음에 이 바디에 자원을 실어서 클라이언트 측으로 전송하게 된다.URL 구조 분석http://www.zoo..

Network 2024.09.07

웹을 구성하는 3대 요소

웹의 기본 구조(클라이언트 / 서버 구조)웹은 클라이언트(Client)/서버(Server) 구조로 되어 있다. 여기서 클라이언트 측은 사용자로 클라이언트 프로그램으로는 웹 브라우저를 사용한다.서버는 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(Web Application Sever)로 부른다.웹 서버에 따라 PHP, JSP(Java), ASP 등 사용되어지는 언어가 다르다.클라이언트 / 서버 통신 원리클라이언트는 서비를 이용하는 대상으로 최초에 서비스 요청을 먼저 하게 된다.그리고 서버는 서비스를 제공하는 대상으로 클라이언트 측으로부터 서비스 요청을 받게 되면, 그에 대해 서비스를 제공하여 준다.클라이언트가 서버로 요청을 할 때 보내는 것을 HTTP 요청 메시지(HTTP Request Mes..

Network 2024.09.07

웹의 탄생, 그리고 발전

World Wide Web웹이란 다수의 네트워크가 모여서 형성된 공간으로 디바이스에 대한 제약없이 웹 클라이언트 프로그램만 있다면 누구나 접근이 가능하다. 이를 통해 서로 정보를 공유하고 교류를 할 수 있는 문화가 형성되는 곳이다. 정확하게는 World Wide Web이라고 하며 이를 줄여서 WWW, W3, WEB이라고 부른다.웹의 탄생과 발전 - 1최초 웹은 유럽 입자 물리학 연구소(CERN)의 연구원 팀 버너스 리 박사에 의해 탄생하였으며, 멀리 떨어져 있는 동료 연구자와 지식을 공유하기 위해 고안된 기술로 하이퍼 텍스트 중심으로 구성이 되었다.Ex) 서울과 부산에 각각 떨어져 있고 만나기 위해 왔다갔다 한다면 시간과 비용 측면에서 굉장히 비효율적이므로 시간과 공간의 제약 없이 지인을 만날 수 있게 ..

Network 2024.09.07

HTTP 분석

HTTP 개요와 역사HTTP(HyperText Transfer Protocol): 클라이언트와 서버 간 데이터를 전송하기 위한 핵심 프로토콜로, 클라이언트-서버 구조와 무상태 프로토콜로 설계되었습니다.역사적 발전HTTP/0.9 (1991년): GET 메서드만 지원, HTTP 헤더 없음.HTTP/1.0 (1996년): 메서드와 헤더 추가.HTTP/1.1 (1997년): 지속 연결 등 개선.HTTP/2 (2015년): 성능 개선을 위한 멀티플렉싱 지원.HTTP/3: TCP 대신 UDP 사용으로 성능 향상.인터넷 네트워크 및 OSI 7계층 모델개요 : 인터넷 네트워크는 다양한 프로토콜과 기술을 사용하여 데이터를 전송합니다.OSI 7계층 모델 : 물리 계층에서 응용 계층까지 데이터 통신의 흐름을 단계별로 설명하..

Network 2024.09.03

스프링 들어가기에 앞서...

1. 프레임워크란?  사전적인 의미로는 뼈대, 구조, 틀을 의미함.2. 스프링 프레임워크란?   자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크로서 엔터프라이즈급 어플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션이다.3. 스프링의 핵심 모듈 5가지   IOC, DI, AOP, 경량 컨테이너, POJO4. 의존관계 확인    의존하는 부분을 외부에서 주입하는 것 (DI)   - 무엇에 의존하고, 무엇을 밖에서 주입해야 하나 5. 관점 지향 프로그래밍 (Aspect Oriented Programming)   - 중심적 관심사 (Primary Concern) : 실현해야 할 기능을 나타내는 프로그램    - 횡단적 관심사 (Crosscutting -Concern) : 핵심기능 은..

Spring 2024.09.03

Spring

스프링스프링 모듈 : 해당 모듈에 필요한 코드를 모아 놓은 JAR 파일각 모듈의 기능을 이해하고 프로젝트에 필요한 모듈을 적절히 선택해 적용한다.프레임 워크가 전체 애플리케이션의 처리 흐름을 제어하며, 특정 이벤트가 발생할 때 다형성을 통해 애플리케이션이 확장한 메서드를 호출하여 제어가 프레임워크로부터 애플리케이션으로 거꾸로 흐르게 관리한다.프레임워크란?사전적인 의미 : 틀, 구조, 뼈대, 골격, 구조, 구성GoF의 정의프레임워크는 소프트웨어의 특정한 클래스에 대하여 재사용할 수 있는 설계로 구성된 관련된 클래스들의 집합프레임워크는 설계를 추상적인 클래스로 분리하고 그들의 책임과 협동관계를 정의함으로써 아키텍처적인 가이드를 제공한다.우리는 프레임워크로부터 추상적인 클래스를 서브 클래싱하여 애플리케이션에 ..

Spring 2024.09.02
반응형