본문 바로가기

Learning-log126

(모든 개발자를 위한 HTTP 웹 기본 지식) 3-(4) 비연결성, (5) HTTP메시지 - 비연결성 연결을 유지하는 모델 클라이언트1 -> 요청 -> 서버 -> 응답 이 때도 클라이언트 2, 클라이언트 3도 연결 유지됨 연결이 유지된 서버의 자원이 소모되는 것 단점 : 클라이언트 2,3이 놀고 있어도 계속 연결 유지해야함 연결 유지하지 않는 모델 클라이언트1이 요청 , 응답 받은 후 연결 끊어버리기 자원을 요청을 주고받을 때만 연결하고 끊어버려서 서버 연결에 필요한 자원 아낄 수 있음. 최소한의 자원으로 서버 유지 가능 비연결성 HTTP는 기본이 연결을 유지하지 않는 모델 일반적으로 초 단위의 이하의 빠른 속도로 응답 1시간동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십개 이하로 매우 작음 서버 자원 매우 효율적으로 사용 가능 한계와 극복 TCP/IP 연결을 새로.. 2023. 4. 19.
(모든 개발자를 위한 HTTP 웹 기본 지식) 3-(1) 모든 것이 HTTP, (2) 클라이언트 서버 구조, (3) Stateful, Stateless - 모든 것이 HTTP(HyperText Transfer Protocol) HTTP 메시지에 모든 것을 전송 HTML, TEXT 이미지, 음성, 영상 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용 HTTP의 역사 HTTP/0.9 1991년에 시작 ... HTTP/1.1 1997년 : 가장 많이 사용, 우리에게 가장 중요한 버전 HTTP/2 2015년 성능개선 HTTP/3 진행중 : TCP 대신에 UDP 사용, 성능 개선 기반 프로토콜 TCP : HTTP/1.1 , HTTP/2 UDP : HTTP/3 현재 HTTP/1.1 주로 사용 HTTP/2, HTTP/3 도 점점 증가하고 있음 HTTP특징 클라이언트 서버 구조 무상태 프로토.. 2023. 4. 18.
(모든 개발자를 위한 HTTP 웹 기본 지식) 2-(1) URI, (2) 웹 브라우저 요청 흐름 - URI(Uniform Resource Identifier)URI ? URL ? URN?URI : 로케이터(locater), 이름(name) 또는 둘 다 추가로 분류될 수 있음.URI 안에 URL(Resource Locator), URN(Resource Name)이 포함 됨위치는 변할 수 있지만 이름은 변하지 않음urn:isbn:8960777331 : 어떤 책의 isbn URNURN 이름 만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음URI, URL 같은 의미로 이야기할 예URI 단어 뜻Uniform : 리소스 식별하는 통일된 방식Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음)Identifier : 다른 항목과 구분하는데에 필요한 정보URL 분석https://www.. 2023. 4. 17.
(모든 개발자를 위한 HTTP 웹 기본 지식) 1-(3) TCP, UDP, (4) PORT (5) DNS - TCP, UDP IP에서 생긴 패킷이 꼬이는 문제를 TCP, UDP로 해결 가능 프로토콜 계층 프로그램이 메시지 생성 소켓 라이브러리를 통해 전달 TCP 정보 생성, 메시지 데이터 포함 IP 패킷 생성, TCP 데이터 포함 IP패킷 정보(출발지, 목적지 IP) -> IP패킷 안에 TCP 정보 담김(출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증정보 등) -> IP로 해결 안된 순서 제어 문제 해결 가능 TCP 특징 전송 제어 프로토콜 연결지향 TCP3 way handshake(가상 연결) 데이터 전달 보증 순서 보장 신뢰할 수 있는 프로토콜 현재는 대부분 tcp사용 3way handshake 클라이언트가 syn 전달 서버가 syn + ack 전달 클라이언트가 ack 전달 syn : 전송 요.. 2023. 4. 16.
SWEA - 3124 최소 스패닝 트리 1. 문제 조건 내용 2. 아이디어 내용 3. 구현 (1) Prim Algorithm 사용 package D4; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.PriorityQueue; import java.util.Queue; import java.util.StringTokenizer; public class SE_최소스패닝트리 { static class Node{ in.. 2023. 4. 16.
(모든 개발자를 위한 HTTP 웹 기본 지식) 1-(1) 인터넷 통신, (2) IP(인터넷 프로토콜) - 0. 소개영상 HTTP를 이해하지 못한 상태에서 처음 웹 기술을 공부하면 깊이 있게 원리 파악이 쉽지 않음 개발자는 평생 HTTP기반 위에서 개발해야 하므로 HTTP에 반드시 정리를 해놔야 함. - 인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? IP에 대해 알아야 함. - IP(인터넷 프로토콜) IP 의 역할 지정한 IP 주소에 데이터 전달 패킷이라는 통신 단위로 데이터 전달 IP 패킷 정보 IP패킷이라는 규칙이 있음. 출발지 IP, 목적지 IP, 기타 .. 주소 적듯이 IP패킷을 만듦 IP주소 부여 클라이언트가 패킷 전달 노드들이 서로 패킷을 던지다가 최종적으로 서버에 도달 그 서버는 또 패킷을 만들어서 다시 클라이언트에게 전달. 인터넷의 노드들이 서로 전달을 하다가 클라이언트에 도달 인터넷.. 2023. 4. 15.