# Application Layer

17개의 포스트
post-thumbnail

CS 지식 + Github Pages

JSON Server JSON Server는 개발 및 프로토타이핑을 위한 가상 REST API를 생성하는 도구입니다. 이를 사용하면 간단한 JSON 파일로 가짜 API를 만들어서 데이터를 관리하고 응답을 제공할 수 있습니다. 주로 프론트엔드 개발자들이 프론트엔드 애플리케이션을 개발하는 동안 백엔드와 협업하지 않고도 가상의 API를 생성하여 테스트하고 개발할 수 있도록 도와줍니다. JSON Server를 사용하면 다음과 같은 작업을 할 수 있습니다: 가상 API 서버 구축: JSON 파일을 데이터 소스로 사용하여 가상의 API 서버를 생성할 수 있습니다. 이를 통해 실제 백엔드 없이도 프론트엔드 개발을 진행할 수 있습니다. 데이터 조작: JSON 파일을 수정하면서 데이터를 추가, 수정, 삭제할 수 있습니다. JSON Server는 변경된 내용을 가상의 REST API로 노출하여 프론트엔드 애플리케이션에서 사용할 수 있도록 합니다. **라우팅 설

2023년 8월 20일
·
0개의 댓글
·

[컴퓨터 네트워크] Application 계층

🧭 CS Study - 컴퓨터 네트워크 > #### 🚩 주제 : 네트워크 서비스와 애플리케이션 계층 > #### 📘 참고 서적 : TCP/IP 쉽게, 더 쉽게 - 리브로웍스 Application Layer Application Layer는 사용자가 직접 사용하는 서비스를 제공하는 계층이다. Application Layer의 프로토콜은 아래와 같다. 사용자가 직접 사용하는 프로토콜과 OS나 다른 Application Layer의 프로토콜이 사용하는 간접 사용 프로토콜이 있다. |사용자 사용 방식|프로토콜|동작 방식| |---|---|---| |직접|HTTP|웹 클라이언트 & 웹 서버 사이에서 웹 페이지 데이터 전송| |직접|POP, SMTP, IMAP|메일 송수신| |직접|SMB, AFP|LAN 내의 파일 공유| |직접|FTP|서버를 통한 파일 송수신| |직접|Telnet, SSH|원격 서버 제어| |간접|DNS|도메인명과 IP 주소 매핑 변환| |간접

2023년 6월 28일
·
0개의 댓글
·

[네트워크] 애플리케이션 계층 - 프로토콜

네트워크 어플리케이션의 원리 가장 대표적인 네트워크 애플리케이션 : HTTP기반의 웹 브라우저 네트워크 : 운영체제 위에서 실행되는 프로세스가 다른 운영체제 위의 프로세스와 메시지를 주고 받는 것 os가 제공하는 인터페이스(socket = 네트워크 기능을 제공하는 API)를 통해 네트워크가 이루어짐 클라이언트 : 뭔가 필요할 때만 메시지 요청 → 고정된 주소일 필요 없음 서버 : 같은 장소에서 24시간 내내 돌아가는 것 → 고정된 주소를 갖는다 프로세스의 주소 = 그 프로세스가 돌아가고 있는 운영체제의 소켓 주소 = IP주소 서버의 주소는 IP주소가 고정되어 있음 포트번호는 각 프로토콜마다 정해져 있음 [정리] 네트워크 = 프로세스와 프로세스간의 통신 그 통신을 위해 주소가 있어야 함. 프로세스를 특정하기 위해 그 주소는 소켓을 통해 특정됨. 소켓은 IP주소와 포트번호의 결합으로 지칭됨. 프로토콜

2023년 5월 30일
·
0개의 댓글
·

[TIL] 웹과 HTTP

.

2023년 5월 15일
·
0개의 댓글
·
post-thumbnail

[Network] 6-4. HTTPS

HTTPS(Hyper Text Transfer Protocol Secure Socket layer)는 HTTP 통신 과정에서 내용을 암호화하여 데이터를 전송하는 방법입니다. SSL(또는 TLS)라는 기술을 이용하여 암호화합니다. > SSL(보안 소켓 계층, Secure Sockets Layer) SSL은 웹사이트와 브라우저(혹은, 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결을 보안을 유지하는 표준 기술입니다. 이는 해커가 개인 정보 및 금융 정보를 포함한 전송되는 모든 정보를 열람하거나 훔치는 것을 방지합니다. > TLS(전송 계층 보안, Transport Layer Security) TLS는 가장 최신 기술로 더 강력한 버전의 SSL입니다. 그러나 SSL이 더 일반적으로

2023년 4월 25일
·
0개의 댓글
·
post-thumbnail

[Network] 6-3. 쿠키와 세션

HTTP는 stateless, connectionless한 특성을 가지기 때문에 매번 클라이언트가 누구인지 확인해줘야 합니다. 이러한 특성을 보완하기 위해 쿠키와 세션을 사용하는 것입니다. Cookie HTTP의 일종으로 사용자가 어떤 웹 사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일입니다. HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요 시 정보를 참조하거나 재사용할 수 있습니다. 다음은 쿠키의 특징입니다. 이름, 값, 만료일(저장기간), 경로 정보로 구성되어 있습니다. 클라이언트 총 300개의 쿠키를 저장할 수 있습니다. 하나의 도메인 당 20개의 쿠키를 가질 수 있습니다. 하나의 쿠키는 4KB까지 저장할 수 있습니다. 다음은 쿠키의 동작 순서입니다. 클라이언트가 페이지를 요청합니다. (사용자가 웹 사이트에 접근합니다.) 웹 서버는 쿠키를 생성합니다. 3.

2023년 4월 25일
·
0개의 댓글
·
post-thumbnail

[Network] 6-2. HTTP 상태 코드

HTTP Status Code 클라이언트가 HTTP 요청을 보냈을 때 서버는 상황에 따라 요청에 대해 알맞은 응답을 해주어야 합니다. 그 때 사용하는 것이 상태 코드(Status Code)입니다. 상태 코드만 확인하더라도 클라이언트가 보낸 요청이 성공인지 실패인지 어떤 식으로 성공한 것인지 어떤 식으로 실패한 것인지 확인할 수 있습니다. 1xx - Informational Response(조건부 응답) 전송 프로토콜 수준의 정보 교환 상태 코드입니다. 100 Continue (계속) 임시적인 응답입니다. 지금까지의 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다. 101 Switching Protocol(프로토콜 전환) 클라이언트가 보낸 Upgrade 요청 헤더에 대한 응답이며 서버에서 프로토콜을 변경할 것임을 알려줍니다. 102 Processing (처리, WebDAV) 서버가 요청을 수

2023년 4월 24일
·
0개의 댓글
·
post-thumbnail

[Network] 6-1. HTTP

HTTP HTTP(HyperText Transfer Protocol)는 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜로, 서버와 클라이언트 사이에서 어떻게 메시지를 교환할지 정해놓은 규칙입니다. 요청과 응답으로 구성되어 있으며 80번 포트를 사용합니다. 간단한 예시로 클라이언트가 웹 페이지에서 링크가 걸려 있는 텍스트를 클릭(요청)하면 링크를 타고 새로운 페이지로 넘어갑니다(응답). 우리가 사용하는 웹 브라우저에서 인터넷 주소 앞에 들어가는 http://가 이 프로토콜을 사용해서 정보를 교환하겠다는 표시입니다. Stateless 서버가 클라이언트의 이전 상태를 보존하지 않는다는 의미입니다. 서버에 클라이언트의 이전 상태를 저장하지 않기 때문에 서버 확장에 용이합니다. 하지만 클라이언트가 매번 데이터를 추가 전송해야 합니다. Example > Stateful 고객: 이 사과는 얼마인가요? 점원: 3000원입니다. > 고객: 2개 구매할게요

2023년 4월 24일
·
0개의 댓글
·
post-thumbnail

[Network] 6. 응용 계층

Application Layer 애플리케이션은 2가지로 분류됩니다. 서비스를 요청하는 측(클라이언트) ex) 웹 브라우저, 메일 프로그램 등 서비스를 제공하는 측(서버) ex) 웹 서버 프로그램, 메일 서버 프로그램 등 OSI 7계층의 1계층인 응용 계층에서는 클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 메시지로 변환해서 전송 계층에 전달하는 역할을 합니다. 클라이언트가 서버에게 데이터를 보내기 위해서는 응용계층의 프로토콜을 사용해야 합니다. 응용 계층의 애플리케이션이 동작하는 세선 계층과 표현 계층을 포함합니다. Web Server WWW WWW(World Wide Web)는 인터넷에 연결되어 있는 컴퓨터를 통해 정보를 공유할 수 있는 전세계적인 정보공간입니다. 다음의 세 가지 기술이 사용됩니다. HTML(Hypertext Markup Language) 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하

2023년 4월 24일
·
0개의 댓글
·

OSI 7 계층

✏️ 1 계층 - Physical Layout (물리 계층) encoding - 0 과 1 의 나열을 아날로그 신호로 바뀌어 전선으로 흘려 보내는 작업 decoding - 아날로그 신호를 0 과 1 의 나열로 해석하는 작업 module - 물리적으로 연결된 두 대의 컴퓨터가 0 과 1 의 나열을 주고받을 수 있게 해주는 모듈 Physical Layout 기술은 ‘PHT’ 라는 칩에 하드웨어적으로 구현되어 있다. 📍 두 대의 컴퓨터가 통신하기 위한 조건 컴퓨터가 통신하기 위해선 data 를 주고받을 수 있는 케이블이 연결되어 있어야 한다. 두 컴퓨터는 케이블을 통해 0 과 1 을 주고받으며 통신한다. 📍 문제점 0 과 1 의 데이터는 주파수를 통해 전달되는데, 0 을 나타내는 파동의 크기와 1 을 나타내는 파동의 크기를 제어할 수 없고, 케이블이 운반할 수 있는 최대값과 최소값이 정해저있어 현실적으로 이러한

2023년 3월 12일
·
0개의 댓글
·

[Computer Network] Application Layer, HTTP

2. Application Layer Clinet-Server 구조 Peer-to-Peer (P2P) Client-Server Archtecture Server : 항상 켜져 있다. 고정 IP 사용 인기 웹서버인 경우 호스트들의 클러스터 사용 Clients : 서버와 통신 간헐적으로 연결 동적 IP 혹은 고정 IP 서로 직접 통신하진 않음 순수한 P2P 구조 항상 켜진 서버는 필요 없다. P2P 직접 통신 피어는 간헐적으로 연결되며 IP 주소가 변경된다. 높은 확장성을

2022년 10월 21일
·
1개의 댓글
·
post-thumbnail

[네트워크] P2P - BitTorrent

🔎 P2P - BitTorrent p2p방식 파일을 여러개의 typical size의 chunks로 나누어 peer들에게 배분한다. peer들끼리 세션을 생성하여 자신이 소유한 chunk정보를 알려주고 상대 peer로부터 필요한 chunk를 요청하여 받는다. peer가 많아질수록 peer간의 세션 수는 증가하고, 사용자의 다운로드 속도도 늘어나게 된다. Tracker: 파일의 chunk를 소유한 peer들의 정보를 가진 서버. 파일 자체 정보는 없고 torrent의 위치 정보만 가지고 있음 Torrent: 한 파일에 대한 chunk를 소유하고 이것을 공유하는 peer들의 그룹 peer는 자신의 정보를 tracker에 등록한 뒤, 파일정보 공유가 가능한 **pe

2022년 10월 12일
·
0개의 댓글
·
post-thumbnail

[네트워크] P2P vs Client-Server

[Application layer: P2P application_1] > 🤷‍♀️ P2P란? 양방향 파일 전송시스템(Peer-to-peer) 모든 노드(end system == peer)가 client, server 역할 둘 다 할 수 있다. Self scalability(자체 확장성) : 새로운 peer는 새로운 서비스를 요구하고 새로운 서비스를 가져다 줌 Autonomous(자율성) : peer들은 간헐적으로 연결되고 IP 주소를 바꿈 예시 : Gnutella, BitTorrent, KanKan > 😒 P2P의 이슈들 Lack of robustness(견고함의 부족) Low capability of each node(각 노드의 낮은 능력) Poor resource search(정보 부족) NAT traversal(NAT 통과) Free riding(무임승차) Security(안전성) 1.

2022년 10월 12일
·
0개의 댓글
·
post-thumbnail

Network - OSI 7 Layer

OSI 7 Layer OSI Layer 7 Model OSI 네트워킹 모델 국제 표준 기구 ISO 가 발표한 네트워크 모델 1계층 Physical Layer 물리 계층 물리적으로 연결된 컴퓨터가 데이터 송수신할 수 있게 해주는 모듈 디지털 신호 ↔ 아날로그 신호 물리 계층 구현 방식 통신 케이블 허브 2계층 Data-link Layer 데이터 링크 계층 동일한 네트워크내에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈 Framing 은 Data-link Layer 에 속하는 작업들 중 하나 (구분자로 원본 데이터를 감싼 것) 데이터 링크 구현 방식 랜카드 3계층 Network Layer 네트워크 계층 서로 다른 네트워크의 연결로 이루어지는 inter-network 속에서 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해 IP 주소를 이용해서 길을 찾고

2022년 6월 11일
·
0개의 댓글
·
post-thumbnail

2장 - Application Layer

- 이 시리즈는 Computer Networking: A Top-Down Approach(7th Edition)를 읽고 각 챕터의 주요 내용을 요약하고 있습니다. > - 개인 학습 목적으로 작성한 글입니다. 컴퓨터 네트워크는 네트워크 기반 어플리케이션이 있기에 비로소 그 존재 의미가 있다. 이메일, 원격 접속 프로그램, 파일 전송 서비스 WWW 기반의 검색, 전자상거래, 메신저 서비스 VoIP 및 영상 기반 컨퍼런스 서비스; Skype, Hangout 등 영상 게시 및 스트리밍 서비스: Youtube, Netflix 다중 동시 접속 게임: Second life, WOW SNS 서비스: Facebook, Instagram

2022년 5월 1일
·
0개의 댓글
·
post-thumbnail

네트워크 - 2. Application Layer (1)

2. Application layer 해당 챕터의 목표는 다음과 같다. > * application layer protocol의 conceptual, implementation 관점 공부 > * transport-layer service model들 > * client-server paradigm > * peer-to-peer paradigm > * popular application-layer protocol들이나 infrastructure들을 지원하는 protocol들 공부 > * HTTP, SMTP, IMAP > * DNS > * Video streaming systems, CDNs > * Socket API Principles of network applications Creating a network app app이 network app이 되기 위해서... 서로 다른 end sys

2022년 4월 14일
·
0개의 댓글
·
post-thumbnail

OSI 7 Layer 란?

순서 Physical Layer - 물리계층 Data-Link Layer - 데이터링크계층 Network Layer - 네트워크계층 Transport Layer - 전송계층 Application Layer - 응용계층 ✋각 계층마다 예시가 나오고 개념이 나오기 때문에 급하다면 각 계층마다 그래서 Layer 란 이라는 부분을 확인하면 된다✋ 유튜브 히히의 OSI 7 Layer 의 내용 Physical Layer - 물리계층 모든 파일과 프로그램은 0과 1의 나열이기 때문에 두 대의 컴퓨터가 통신하려면 0과 1만 주고받을 수 있으면 된다 ![물리계층 예시](https://images.velog.io/images/codingbotpark/post/83e5eadf-2eb6-45b8-8931-0402fbaf6a5b/220218-OSI7%

2022년 2월 22일
·
0개의 댓글
·