김영한 5

5. HTTP 특징(1)

HTTP 특징✓ 클라이언트 서버 구조 ✓  무상태 프로토콜, 비연결성- HTTP 메시지로 송수신- 단순함, 확장 가능  클라이언트 서버 구조 Request Response 구조  클라이언트는 서버에 요청을 보내고, 서버는 대기하다가 요청에 대한 응답을 보냄클라이언트와 서버를 개념적으로 분리해야 함1) 클라이언트 - UI, UX, 사용성에 집중 2) 서버 - 비즈니스 로직, 데이터 처리에 집중장점-  클라이언트, 서버는 각각 독립적으로 진화 가능-  각각의 역할에만 집중 가능 (ex. 트래픽이 폭주하면 서버에서만 수정) 상태, 무상태(Stateless) 프로토콜Stateful (상태)- 서버가 클라이언트의 상태 보존  ✓  Stateless (무상태)- 서버가 클라이언트의 상태를 보존X클라이언트 요청이 ..

HTTP 2025.03.03

4. HTTP

HTTP (HyperText Transfer Protocol)HTTP는 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)이다.처음엔 문서간에 링크를 통해 연결할 수 있는 프로토콜로 사용했으나, 현재는 모든 것을 전송한다. HTTP 메시지에 모든 것을 전송- 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용   (게임서버와 같은 특수한 경우에만 TCP를 직접 연결해서 사용) - 거의 모든 형태의 데이터 전송 가능HTML, TEXTIMAGE, 음성, 영상, 파일JSON, XML (API)  HTTP 역사HTTP/0.9 (1991년) : GET 메서드만 지원, HTTP 헤더XHTTP/1.0 (1996년) : 메서드, 헤더 추가HTTP/1.1 (1997년) : 가장 많이 사용, 우리에게 가장 중요한 버전 ..

HTTP 2025.03.03

3. 웹 브라우저 요청 흐름

웹 브라우저가 동작하는 방법1. 웹 브라우저에 URL 입력 2. HTTP 요청 메시지 생성1. DNS를 조회해서 IP를 확인하고, port는 생략되어있으면 프로토콜(https)을 보고 유추2. HTTP 요청 메세지를 생성함 HTTP 요청 메시지 내용get - 쿼리정보, HTTP 버전정보Host 정보 3. HTTP 메시지 전송2. SOCKET 라이브러리를 통해    2-1. 헤더 부분에 IP, PORT 정보를 넣어서 3WH로 웹브라우저(클라이언트)와 웹서버(서버)를 연결함    2-2. 데이터(HTTP 요청 메시지)를 TCP/IP 계층에 전달4. 패킷 생성헤더 부분에 출발지 IP, PORT, 목적지 IP, PORT 정보등을 담고 데이터 부분에는 HTTP 요청 메시지를 담아 TCP/IP 패킷을 생성한다. 5..

HTTP 2025.02.17

2. URI

URI, URL, URN  URI  (Uniform Resource Identifier ) 리소스를 가리키는 고유한 식별자  Uniform : 리소스를 식별하는 통일된 방식Resource : URI로 식별할 수 있는 모든 데이터, 서비스, 파일 등을 의미ex) 웹페이지, 이미지, API, DB 등 (사진참고)Idenrifier : 다른 항목과 구분하는 데 필요한 정보 ex) 사람을 식별할 때 주민등록번호로 식별 하는 것  - URI : 자원의 위치(Locator)와 이름(Name)을 모두 포함한다    URL  (Uniform Resource Locator) → 위치 기반 식별특정 리소스가 어디 있는지를 나타냄 (웹 주소)    ex) https://www.example.com/index.html  UR..

HTTP 2025.02.16

1. 인터넷 네트워크 - IP, TCP, UDP, PORT, DNS

인터넷 통신클라이언트 ------------- 서버클라이언트 -------------인터넷 (노드) ------------ 서버수 많은 인터넷 망에서 어떻게 원하는 곳에 전달 수 있을까? => 최소한의 규칙 (IP) 필요  IP  (Internet Protocol)IP 주소 부여메세지 전달을 위해 출발지(클라이언트) 목적지(서버)에 IP를 부여함IP 역할지정한 IP 주소(IP Address)에 데이터 전달패킷(Packet)이라는 통신 단위로 데이터 전달  IP 프로토콜의 한계 비연결성- 패킷을 받을 대상이 없거나 서비스 불능 상태여도 클라이언트는 대상 서버의 상태를 알 수 없어 패킷을 항상 전송하게된다.비신뢰성- 패킷 소실- 패킷 전달 순서 문제패킷 용량의 크기가 크면 나눠서 보내게 됨 -> 같은 노드(..

HTTP 2025.02.16