Study Platform📚
그림으로 배우는 Http&Network Basic 정리 - 10장. 웹 콘텐츠에서 사용하는 기술
그림으로 배우는 Http&Network Basic 정리 - 10장. 웹 콘텐츠에서 사용하는 기술
2025.03.09웹 콘텐츠는 사용자가 브라우저를 통해 보는 모든 텍스트, 이미지, 동영상, 애니메이션, 인터랙티브 요소 등을 포함하는 데이터다.이런 웹 콘텐츠를 구성하고 배포하는 데 사용되는 핵심 기술들은 다음과 같다. 10.1. HTML(HyperText Markup Language) 텍스트, 이미지, 링크, 버튼 등의 기본적인 웹 콘텐츠를 배치.HTML5 이후 오디오, 비디오, 그래픽(Canvas, SVG) 같은 멀티미디어 요소도 포함할 수 있음.HTML 버전 : HTML5 이후부터는 버전 번호를 붙이지 않고, 2019년 5월 28일부터 WHATWG(웹 기술 표준화 그룹)와 W3C(월드 와이드 웹 컨소시엄)가 협력하여 "HTML Living Standard"를 HTML의 유일한 공식 버전으로 발표했다.10.1.3 디..
그림으로 배우는 Http&Network Basic 정리 - 9장. HTTP에 기능을 추가한 프로토콜
그림으로 배우는 Http&Network Basic 정리 - 9장. HTTP에 기능을 추가한 프로토콜
2025.03.069.1. HTTP를 기본으로 하는 프로토콜HTTP이 부족하다고 한다면 그것을 보완하는 전혀 새로운 프토토콜을 만들수있지만, 이미 웹 브라우저 환경이 널리 퍼진 HTTP 프로토콜을 무시할 수 없다. 그래서 HTTP를 기반으로 해서 HTTP 위에서 동작하는 새로운 프로토콜들이 개발되었다. 대표적인 예로 WebSocket, SPDY, HTTP/2, HTTP/3, QUIC, WebRTC 등이 있다. 9.2. HTTP의 병목 현상을 해소하는 SPDYSPDY(Speedy) 는 구글이 개발한 애플리케이션 계층 프로토콜로, HTTP의 병목현상을 해결하기 위해 만들어졌는데 이것이 HTTP/2의 기반이 되었다. 🔹9.2.1. HTTP의 병목 현상HTTP 병목현상은 웹페이지를 로딩할 때 특정 리소스가 늦게 로딩되거나, ..
그림으로 배우는 Http&Network Basic 정리 - 7장. 웹을 안전하게 지켜주는 HTTPS
그림으로 배우는 Http&Network Basic 정리 - 7장. 웹을 안전하게 지켜주는 HTTPS
2025.03.027.1. HTTP의 약점- 평문 통신이기때문에 도청이 가능핟. - 통신 상대를 확인하지 않기 때문에 위장이 가능핟.- 완전성을 증명할 수 없기때문에 변조 가능하다. 7.1.1. 평문이기 때문에 도청 가능HTTP는 TCP/IP 프로토콜을 통해 데이터를 전송하지만, 자체적으로 암호화를 제공하지 않는다.따라서 패킷 캡처 도구(예: Wireshark)로 네트워크 트래픽을 감청하면 요청/응답 내용을 그대로 확인할 수 있다.해결 방법1️⃣ 통신 암호화=> HTTPS 사용: SSL/TLS 암호화를 통해 데이터가 암호화된 상태로 전송되므로 도청이 불가능하다.2️⃣ 콘텐츠 암호화=> 콘텐츠 암호화는 웹이나 네트워크를 통해 전송되는 데이터(콘텐츠)를 암호화하여 보호하는 기술이다.(ex. DRM, E2EE, 파일 암호화) ..
그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8)
그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8)
2025.03.026.6. 엔티티 헤더 필드엔티티 헤더(Entity Header)는 HTTP 요청(Request) 또는 응답(Response)의 본문(Body)에 대한 정보를 제공하는 헤더 필드이다.즉, 요청이든 응답이든 본문이 포함될 수 있기 때문에, 엔티티 헤더는 두 경우 모두 존재할 수 있습니다.요청(Request) 메시지에 포함될 때 → 클라이언트가 서버에 전송하는 데이터의 속성을 설명응답(Response) 메시지에 포함될 때 → 서버가 클라이언트에게 보내는 데이터의 속성을 설명 6.6.1. Allow Allow 헤더는 서버가 특정 리소스에 대해 허용하는 HTTP 메서드 목록을 나타내는 헤더입니다.즉, 클라이언트가 어떤 HTTP 메서드를 사용할 수 있는지 알려줍니다.405 응답이 발생할 때는 서버가 어떤 메서드를 ..
그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버
그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버
2025.02.18이 시리즈는 그림으로 배우는 Http&Network Basic을 읽고 스터디 하면서 정리한 내용입니다.추가적으로 포함되어 있는 내용은 GPT 를 이용하여서 정리한 내용으로 참고해주시면 감사하겠습니다. 5.1. 1대로 멀티 도메인을 가능하게 하는 가상 호스트 (Virtual Hosting)🔹 하나의 서버에서 여러 개의 웹사이트 또는 서비스를 호스팅하는 기술을 의미웹 서버는 기본적으로 하나의 IP 주소와 포트를 사용해 웹사이트를 서비스합니다. 하지만 하나의 서버에서 여러 개의 웹사이트를 운영하려면 방법이 필요합니다. 가상 호스팅은 이런 상황에서 사용되며, 크게 두 가지 방식이 있습니다. 1️⃣ IP 기반 가상 호스팅각 웹사이트가 서로 다른 IP 주소를 사용.같은 서버에 여러 개의 IP를 설정하여, IP마다..
그림으로 배우는 Http&Network Basic 정리 - 4장. 결과를 전달하는 HTTP 상태 코드
그림으로 배우는 Http&Network Basic 정리 - 4장. 결과를 전달하는 HTTP 상태 코드
2025.02.16이 시리즈는 그림으로 배우는 Http&Network Basic 을 읽고 스터디 하면서 정리한 내용입니다.추가적으로 포함되어 있는 내용은 GPT 를 이용하여서 정리한 내용으로 참고해주시면 감사하겠습니다. HTTP 상태 코드?HTTP 상태코드는 클라이언트의 요청에 대한 서버가 응답하는 상태를 나타내는 3자리 숫자코드이다.즉, 요청이 성공했는지, 실패했는지, 추가 작업이 필요한지를 서버가 알려주는 신호이다. ✔ 서버는 클라이언트의 요청을 받고, 상태 코드와 함께 응답을 반환✔ 상태 코드는 3자리 숫자로 구성되며, 첫 번째 숫자가 응답의 유형을 나타냄✔ 상태 코드 뒤에는 설명 메시지(Reason Phrase)가 포함HTTP/1.1 200 OKContent-Type: application/json{ "messa..
그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다
그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다
2025.02.12이 시리즈는 그림으로 배우는Http&Network Basic을 읽고 스터디 하면서 정리한 내용입니다.추가적으로 포함되어 있는 내용은 GPT 를 이용하여서 정리한 내용으로 참고해주시면 감사하겠습니다.3.1.HTTP 메시지1. HTTP 메시지의 구성 요소크게 리퀘스트 메시지(Request Message) 와 리스폰스 메시지(Response Message) 두 가지 유형이 있다.각 메시지는 메시지 헤더(Header)와 메시지 바디(Body) 로 나뉘며,헤더와 바디 사이에는 개행 문자 CRLF (\r\n) 로 구분한다.3.2. 리퀘스트 메세지와 리스폰스 메세지의 구조1️⃣ 리퀘스트 메시지 (Request Message)클라이언트가 서버에 요청을 보낼 때 사용되는 메시지GET /index.html HTTP/1.1..
그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP
그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP
2025.02.11이 시리즈는 그림으로 배우는 Http&Network Basic 을 읽고 스터디 하면서 정리한 내용입니다.추가적으로 포함되어 있는 내용은 GPT 를 이용하여서 정리한 내용으로 참고해주시면 감사하겠습니다. 챕터가 이야기하고 싶은 바- HTTP 프로토콜의 구조- HTTP 기본을 이야기하지만, 주로 HTTP/1.1 기준 2.1. HTTP 는 클라이언트와 서버 간에 통신을 한다.HTTP에서 클라이언트와 서버의 역할이 명확하게 구분된다는 말은, 각 요청(Request)과 응답(Response)에서 클라이언트와 서버의 역할이 고정적이라는 뜻입니다.즉, 한 번의 HTTP 통신에서는 요청을 보내는 순간부터 응답이 완료될때까지는 클라이언트는 요청을 보내는 쪽, 서버는 응답을 제공하는 쪽으로 역할이 고정되어있다.근데, ..
JWT(Json Web Tool) 작동원리와 Refresh Token
JWT(Json Web Tool) 작동원리와 Refresh Token
2025.02.111. JWT란?JWT(JSON Web Token)는 JSON 기반의 인증 토큰으로, 사용자의 인증 및 권한 부여를 위해 사용된다.서버와 클라이언트 간의 안전한 정보 교환을 목적으로 하며, 디지털 서명을 포함하여 위변조를 방지할 수 있다.무상태(Stateless) 인증 방식 지원 : JWT는 서버에 세션 정보를 저장할 필요 없이, 토큰 자체에 인증 정보를 포함.서비스 간 인증과 보안성 강화 : API Gateway에서 JWT로 인증 후 내부 서비스에서 추가 인증 없이 처리 가능.확장성 높은 인증 구조 : 새로운 마이크로서비스가 추가되어도 기존 인증 시스템을 변경할 필요 없음.Third-Party 및 Single Sign-On(SSO) 지원 : OAuth 2.0, OpenID Connect 등과 연동 가능..
그림으로 배우는 Http&Network Basic 정리 - 1장. 웹과 네트워크 기본에 대해 알아보자
그림으로 배우는 Http&Network Basic 정리 - 1장. 웹과 네트워크 기본에 대해 알아보자
2025.02.06이 시리즈는 그림으로 배우는 Http&Network Basic 을 읽고 스터디 하면서 정리한 내용입니다.추가적으로 포함되어 있는 내용은 GPT 를 이용하여서 정리한 내용으로 참고해주시면 감사하겠습니다. 챕터가 이야기 하고 싶은바.- 웹이라는 세계가 어떤 기술로 구성되어 있는가- HTTP는 어떻게 탄생했고 성장해 왔는가에 대해서 배워보자. 1-1. 웹은 HTTP로 나타낸다. 즉, 웹은 HTTP라는 약속을 사용한 통신"이다.웹에서 데이터를 주고받을 때, HTTP라는 정해진 규칙(프로토콜)을 따르는 방식으로 통신이 이루어진다.HTTP는 클라이언트(브라우저)와 서버 간의 데이터 요청/응답을 위한 약속(규칙)이며, 이 흐름에 따라 웹이 동작한다.예를 들어, 브라우저가 서버에 요청을 보낼 때는 GET, POST 등..
05. 연관관계 매핑 기초
05. 연관관계 매핑 기초
2025.02.011. 객체와 테이블 연관관계의 차이를 이해2. 객체의 참조와 테이블의 외래 키를 매핑3. 용어 이해- 방향(Direction): 단방향, 양방향- 다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해- ⭐️연관관계의 주인(Owner)⭐️ : 객체 양방향 연관관계는 관리 주인 이 필요 예제 시나리오회원과 팀이 있다.회원은 하나의 팀에만 소속될 수 있다.회원과 팀은 다대일 관계다1. 객체를 테이블에 맞추어 모델링(연관관계가 없는 객체) 1. Member 객체 @Id @GeneratedValue @Column(name="MEMBER_ID") private Long id; @Column(name="TEAM_ID") private ..
04. 엔티티 매핑 - 객체와 관계형 데이터베이스 매핑(설계)하기(Object Relational Mapping)
04. 엔티티 매핑 - 객체와 관계형 데이터베이스 매핑(설계)하기(Object Relational Mapping)
2024.11.20엔티티 매핑객체와 테이블 매핑: @Entity, @Table 필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne,@JoinColumn객체와 테이블 매핑1. @Entity : JPA 관리, JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수- 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) - final 클래스, enum,interface,inner 클래스 사용 X- 저장할 필드에 final 사용 X -> final 사용시 값 변경 불가능하므로 2. @Table : 엔티티와 매핑할 테이블 사용//데이터베이스 MBR이랑 매핑@Table(name ="MBR")데이터베이스 스키마 자동생성 1. DDL 자동 생성 : 애플리케이션 실행 ..