멋진 개발자/Network

네트워크에서 각 IT 장비들 간의 통신에 있어서 아주 중요한 것이 바로 주소, 즉 IP이다. 장비들이 서로 통신을 하면서 데이터를 주고받아야 하는데 과연 그 데이터를 어디로 보내야 하는가, 또 어디로 받아야 하는가에 대한 목적지가 바로 IP이다. 그 IP주소의 종류에는 IPv4, IPv6가 있다. IPv4가 사용되어 왔으나, 기하급수적으로 늘어나는 주소 때문에 공간이 부족해져서 IPv6가 새롭게 사용되고 있다. 먼저 순서대로 IPv4부터 알아보자. IPv4(IP version 4) 국내에서 표준을 정하고 정책에 수립하여 이용자에게 무한히 할당할 수 있는 자원이 아니라 전 세계적으로 관리되는 유한한 자원이다.(약 43억 개) 일부는 특수한 목적으로 사용될 수 있도록 예약되었으며, 주소 규정에 의하여 사용이..
OSI 7 계층이란? 1984년 국제표준화기구(ISO)에서 개발한 모델로서, 네트워크 프로토콜 디자인과 통신 과정을 7개의 계층으로 구분하여 만든 "표준 규격"이다. 초창기의 네트워크는 각 컴퓨터마다 시스템이 달랐기 때문에 하드웨어와 소프트웨어의 논리적인 변경 없이 통신할 수 있는 표준 모델이 나타나게 되었다. OSI(Open System Interconnection)은 개방형 시스템으로, 누구나 참조 및 부가적인 추가가 가능하다. OSI 7 계층이 필요한 이유 계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다. 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들지 않고도 이상이 생긴 단계만 고칠 ..
HTTP의 상태 코드는 클라이언트가 보낸 HTTP 요청이 성공했는지 실패했는지를 서버에서 알려주는 숫자 코드다. HTTP 상태 코드는 3자리 숫자로 이루어져 있으며, 총 100 ~ 500번대까지 존재한다. 그리고 각 상태 코드의 첫 번째 자리는 최상위 코드가 되어 다음과 같이 5개의 그룹으로 나뉘어 관리된다. 1XX : 요청이 수신되어 처리 중 2XX : 요청 정상 처리 3XX : 요청을 완료하려면 추가 행동이 필요 4XX : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5XX : 서버 오류, 서버가 정상적으로 요청을 처리하지 못함 1XX (정보 전달) 100 Continue (계속) 요청자는 요청을 계속해야 한다. 서버는 이 코드를 제공하여 요청의 첫 번째 부분을 받았으며 나머지를..
HTTP Method는 클라이언트와 서버 사이에 이뤄지는 요청과 응답 데이터를 전송하는 방식이다. 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. 총 9가지가 있으며 주로 GET, POST, PUT, PATCH, DELETE를 사용한다. 주요 메서드 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경) DELETE : 리소스 삭제 기타 메서드 HEAD : GET과 동일하지만 메시지 부분(body 부분)을 제외하고, 상태 줄과 헤더만 반환 OPTIONS : 대상 리소스에 대한 통신 가능..
HTTP(HyperText Transfer Protocol)와 HTTPS(HyperText Transfer Protocol Security)는 웹에서 데이터를 전송하는 프로토콜이다. 이 둘의 주요 차이는 보안(Security)에 관한 것이다. HTTP 웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해 주는 용도로 많이 사용되며, 서버-클라이언트 모델에 맞춰 데이터를 주고받기 위한 프로토콜이다. 인터넷 초기에 모든 웹 사이트에서 기본적으로 사용되었던 프로토콜이며 80번 포트를 기본적으로 사용하고 있다. HTTP는 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜이기 때문에 HTTP로 비밀번호나 주민등록번호 같이 중요한 정보를 주고받으면 제 3자가 정보를 조회할 수 있다. 이런 보안의 문제를 해..
들어가기 전... HTTP 프로토콜의 특징 Connectionless(비연결지향) HTTP 프로토콜은 클라이언트에서 서버에 요청(request)을 보내면 서버는 클라이너트에 응답(response)을 하고 연결을 끊는 특징이 있다. Stateless(상태정보 유지 안 함) HTTP 통신은 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보를 유지하지 않는 특징이 있으며, 이를 Stateless 하다고 한다. 그래서 HTTP프로토콜의 특징이자 약점을 보완하기 위해 쿠키(Cookie)와 세션(Session)을 사용한다. 통신이 끊어지면 상태정보가 유지되지 않기 때문에 매번 페이지를 이동할 때마다 로그인을 다시 하거나, 장바구니에 담고 결제 페이지로 넘어갔을 때 상품 정보가 존재하지 않거나 하는 문제..
들어가기 전 OSI 7 계층에서 전송 계층에서 사용되는 프로토콜(규약)이다. 전송 계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 데이터의 전달을 담당한다. 그리고 데이터를 보내기 위해 사용되는 프로토콜이 있는데, 바로 TCP와 UDP이다. TCP(Transmission Control Protocol) 전송을 제어하는 프로토콜이라는 뜻으로, 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이다. TCP/IP 프로토콜이라고 불리기도 하는데, 메신저에서 친구와 채팅을 하거나, 이메일을 보내는 등 TCP 프로토콜을 사용한다. TCP는 연결 기반이므로 데이터를 전송하는 동안 수신자와 발신자 사이에 연결을 설정하고 이를 유지한다. 특징 연결형 서비스로 가상 회선 방..
CORS(Cross-Origin Resource Sharing) 직역하면 교차 출처 리소스 공유이다. 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념 다른 출처에 있는 자원을 요청한다고 하면, 이를 교차 출처 요청이라고 부른다. 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제. 웹 애플리케이션은 리소스가 자신의 출처와 다를 때 교차 출처 HTTP 요청을 실행한다. - MDN 출처? 위 URL 구조에서 "Protocol, Host, Port" 3가지가 같으면 동일 출처(Origin)라고 한다. (Port는 80, 443 이면 생략이 가능하다) 예를 들어 "https://sk..
개발의 WinG
'멋진 개발자/Network' 카테고리의 글 목록