Web 17

CORS란?

CORS(Cross Origin Resource Sharing) 번역하면 "교차 출처 자원 공유"이다. 이렇게 번역하면 이해하기 힘드니 "교차 출처" 대신하여 "다른 출처" 라는 단어로 풀어가 보려고 한다. CORS에 대한 설명을 하기 전에 Origin(출처)와 SOP에 대하여 정확하게 무엇을 의미하는지 알아보고 가자 Origin 위에 같은 URL 처럼 Origin은 Protocol, Host, Port까지 모두 합친 것을 의미한다. 즉, 서버를 찾아가기 위해 필요한 가장 기본적인 것들을 합쳐놓은 것이다. 또한 Origin 내의 포트 번호는 생략이 가능한데, 이는 각 웹에서 사용하는 HTTP, HTTPS 프로토콜의 기본 포트 번호가 정해져 있기 때문이다. ( HTTP -> 80 / HTTPS -> 443..

Web 2022.09.25

Nginx 와 Apache

Apache Apache 나오기전 유닉스 기반으로 만들어진 웹 서버 NCSA HTTPD을 사용했다. 하지만 버그가 너무 많아서 개발자들이 사용하기에는 불편했고 이를 해결하기 위하여 몇몇 개발자들이 나서서 만든것이 Apache이다. Client에서 요청을 받으면 MPM (Multi Processing Module: 다중처리모듈)이라는 방식으로 처리를 하는데 대표적으로는 Prefork와 Worker 방식이 있다. MPM 방식 처리( Multi Processing Module : 다중처리모듈) Prefork MPM (다중 프로세스) 1. 하나의 자식 프로세스가 하나나의 스레드를 갖는 구조로, 자식 프로세스는 최대 1024개까지 가능하다 2. 스레드간 메모리 공유를 하지 않는다 ( 독립적이지만 메모리를 많이 사..

Web 2021.11.13

인코딩 디코딩

인코딩(Encoding) 컴퓨터는 0과 1로 기계만 읽을수 있게 되어있다. 사람이 읽을수 있도록 숫자을 문자로 변환하거나 문자를 숫자로 변환 하여 컴퓨터가 읽을수 있도록 해주어야한다. 사람이 인지하지 못하고 컴퓨터가 이해할 수 있도록 바꿔주는 것을 의미한다. 각각 컴퓨터가 이해할 수 있는 언어로 바꿔주기 때문에 어떤 것을 중심으로 인코딩을 해야하는 지 명확하게 이해한 후 인코딩을 진행해야 한다. 디코딩(Decoding) 디코딩은 인코딩의 반대로서 사람이 이해 할 수 있도록 바꿔주는 것을 의미한다 바이트형식을 문자로 변환이다 총정리 인코딩 / 디코딩은 정보의 형태나 형식을 변환하는 처리에 대해 표준화하고 보안, 처리 속도 향상, 저장 공간 절약 등으로 목적으로 사용한다 한글을 2바이트 코드로 표현. 최상위..

Web 2021.11.09

DB Connection Pool

DB Connection Pool 사용 이유 Connection pool(연결 풀) 사용 목적은 DB Connection 정보를 캐시(메모리 영역)에 저장/관리하여 애플리케이션 단에서 DB Connection 정보가 필요할 때마다 Connection pool에서 연결 정보를 가지고 와 사용하도록 하는 것이다. Connection pool에서 Connection 정보를 관리하기 때문에 DB에 연결하기 위한 연결 정보 생성 시간이 없어 DB Connection을 위한 시간이 월등히 줄어든다 DB Connection Pool 특징 Pool 속에 미리 Connection이 생성되어 있기 때문에 Connection을 생성하는 데 드는 연결 시간이 소비되지 않는다. Connection을 계속해서 재사용하기 때문에 ..

Web 2021.11.05

아스키코드 vs 유니코드

아스키코드(ASCII Code) 컴퓨터는 0과 1 숫자 밖에 모르기 때문에 문자도 숫자로 기억한다. 이때, 어떤 숫자와 어떤 문자를 대응시키는가에 따라 여러 가지 인코딩 방식이 있는데 통상 아스키 코드 방식을 많이 사용한다. 아스키 코드(ASCII Table)는 0번부터 127번까지만 사용한다. 127번 이후 코드를 사용했던 적도 있었는데 이는 표준이 아니며 운영체제마다 다른 코드(문자)를 배치했기 때문에 호환이 되지 않는다. 윈도우즈 운영체제는 현재 128번부터 255번 사이에 포함된 문자를 출력하려는 시도에 대해 물음표(?)를 출력해서 사용하면 안된다는 것을 알려주고 128번과 255번 문자는 물음표는 아니지만 사용할 수 없는 문자이다. 128~255 특수 문자 0~127 자주쓰는 문자 0~31 특수..

Web 2021.11.03

XML & JSON & YAML

XML & JSON & YAML 모두 데이터를 표현하는 형식이다 1. XML 데이터를 표현하기 위하여 HTML과 비슷한 구조를 가지고 있다. XML의 특징은 태그로 구분, 트리(Tree) 계층 구조를 가지고 있다. 태그는 꺽쇠()를 이용하여 명시하며, 닫는 태크에는 슬래시( / )을 함께 넣어준다. XML은 주석이 가능하다. 형태로 사용할수 있다. 홍길동 95 Soccer Ninza 이순신 100 Sing Dancing 2. JSON(JavaScript Object Notation) Json도 XML과 비슷하게 데이터를 처리하기 위한 형식으로 구성되어있다. Json은 모든 프로그래밍 언어에서 Json을 지원한다는 점에서 XML & YAML 보다 채택률이 높다. 기본적으로 JSON 형식에서는 키(ke..

Web 2021.10.30

[생활코딩] Home Server 강의 정리

공유기를 전문 용어로 라우터(router)라고 한다. 공유기(router) 사용하는 이유 client와 server가 통신수단이다. IP 을 컴퓨터에 받았지만 휴대폰과 노트북의 인터넷을 사용하려면 IP가 있어야되는데 3개의 IP을 가질려면 돈이 많이 든다 이를 해결 하기위해 공유기(router)가 나왔다. 통신사한테 ip을 받은 선을 공유기(WAN)에 연결하면 공유기에 IP주소가 생긴다 LAN에 노트북이나 컴퓨터를 랜선으로 연결하고 휴대폰같은 경우는 안태나를 통해 받는다. WAN 과 LAN 이 무엇일까? LAN(Local Area Network) 지역 네트워크, WAN(Wide Area Network) 광역 네트워크 WAN에 받은 아이피는 public ip Address로 누구나 접근이 가능하고 LAN에..

Web 2021.10.30

웹 소켓이란?

웹 소켓(Websocket)이란 두 프로그램 간의 메시지를 교환하기 위한 통신 방법 중 하나이며 현재 인터넷 환경(HTML5)에서 많이 사용된다. Websocket API를 통해 서버로 메세지를 보내고, 요청 없이 응답을 받아오는 것이 가능하다. 현재 API는 W3C에서 관장하고 있으며 프로토콜은 IETF에서 관리하고 있다. 별도의 포트를 사용하지 않고 HTTP와 같은 80번 포트를 사용하고 있는데, 이 때문에 client인 웹 브라우저뿐만 아니라 Web Server도 기능을 지원하고 있어야만 한다. 웹소켓을 사용하는 이유 웹 어플리케이션에서 기존의 서버와 클라이언트 간의 통신은 대부분 HTTP를 통해 이루어 졌으며 HTTP Request/response기반의 Stateless protocol이다. 즉,..

Web 2021.07.04

웹 브라우저의 요청 흐름

구글의 IP주소는 예)200.200.200.2 이다 이걸 도메인 이름 으로 바꿔서 google.com 이라 검색하면 도메인 이름을 조회해서 IP 200.200.200.2 을 가져와 보여주는것이다. 433는 PORT 번호이다. HPPT : 80 HPPTS : 443 이다 PORT 번호는 생략이 가능하다. 우리가 구글 이나 네이버 등 DNS 이름을 적고 PORT 를 안적는 이유는 Hppt, Hppts 가 지정 되어있기 때문이다. 1. 웹 브라우저가 HTTP 메세지 생성 2.SOCKET 라이브러리를 통해 전달 - A: TCP/IP 연결(IP, PORT) - B: 데이터 전달 3.TCP/IP 패킷 생성, HTTP 메세지 포함

Web 2021.07.04

TCP UDP 란?

TCP UDP 알기 전에 인터넷 네트워크가 무엇인지부터 알고 가자 인터넷 네트워크란? 인터넷 네트워크는 각각 컴퓨터한테 IP주소가 부여되고 그 IP를 통해 서로 주고받을 수 있다. 그럼 IP 인터넷 프로토콜 역할이 무엇인가? 1. 지정한 IP 주소(IP Address)에 데이터 전달 2. 패킷(Packet)이라는 통신 단위로 데이터 전달 패킷이란? 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 즉, 컴퓨터 네트워크에서 데이터를 주고받을 때 정해 놓은 규칙이다. 자신이 물건을 구입할 때 우편 주소에 자신의 주소와 보내는 사람의 주소 가 IP라고 생각하고 박스를 패킷이라고 생각하면 된다. 박스 안에는 전달하는 물건이 있는 것처럼 패킷 안에는 우리가 전달하는 데이터가 있는 것이다. IP 프로토콜의 한..

Web 2021.07.03