-
xx주로 클라이언트와 서버 간의 초기 단계 통신에 사용되며, ‘클라이언트가 요청을 계속 진행하게 하기 위한 임시 응답’ 이라는 의미를 갖는다.xx‘클라이언트의 요청이 성공적으로 처리되었음’ 이라는 의미. (OK): 수행 결과에 대한 리소스가 응답 메시지 바디에 포함됨 (Created): 요청에 따라 새로운 리소스가 생성됨. (POST 의 응답.) xx‘클라이언트의 요청에 대한 응답을 찾...
-
. SOP(Same-Origin Policy)- 년 Netscape .이 공개되면서 처음으로 JavaScript가 웹 브라우저에 도입됐는데, 처음 JavaScript가 도입될 당시에는 A 웹사이트에 있는 JavaScript 코드가 B 웹사이트의 DOM element 등 여러 리소스를 임의로 조작하는 것이 가능했다. 이는 만약 악의적인 의도로 쓰인 스크립트가 있다면 심각한 보안사고로 이어질 수 있는 위험 요소였...
-
. 웹 세션과 쿠키- 네트워크 관련해서 ‘세션’이라 함은 흔히 양 컴퓨터 사이 유한한 수명을 갖는 네트워크 연결을 뜻하며, 물리적 개념이라기보단 논리적 개념이다. 특히 웹에서는 서버-클라이언트 사이 연결을 뜻하는데, stateless한 HTTP 프로토콜의 특성으로 인해 온전히 HTTP만으로는 그 개념을 구현하는 것이 쉽지 않다. 년 당시 미국의 통신사 MCI가 온라인 쇼핑 웹서비스를 개발하며 쇼핑 카트 기능을...
-
GCP VM 인스턴스에서 Flask 서버를 gunicorn과 nginx로 실행 중이라면, Let’s Encrypt의 certbot을 사용하여 무료로 SSL/TLS 인증서를 받아 HTTPS로 전환할 수 있습니다. 다음은 간단한 절차입니다: certbot 설치: sudo apt update sudo apt install software-properties-common sudo add-apt-reposit...
-
. 웹서버 프로그램- 외부로부터 웹페이지 요청이 들어왔을 때 그 요청을 처리하여 웹페이지를 전송하는 일련의 과정을 수행하는 프로그램을 웹서버라 한다. 웹페이지 요청에 응답하는 컴퓨터 시스템 하드웨어까지 포함하여 포괄적 표현으로서 웹서버라 칭하는 경우도 있지만, 보통 웹서버라 하면 동적 컨텐츠를 생성, 배포하는 기능 없이 정적 컨텐츠만을 클라이언트에 전송하는 프로그램의 개념으로서 칭하는 경우가 많다. 사실 영...
-
. 사전작업() 클라이언트: ISP와 연결 먼저 클라이언트가 웹페이지 요청을 하기 전에 클라이언트 호스트가 ISP에 연결됐을 때 (a)자신의 IP 주소를 할당받고 (b)그 다음으로 웹 브라우저에 도메인 네입을 입력했을 때 이를 처리할 가장 가까운 로컬 DNS 서버의 IP 주소 정보를 ISP로부터 얻어오는 절차가 있어야 한다. DHCP 서버에 접속해 자신의 IP 주소를 할당받는 과정에서 A...
-
. 개요- 인터넷 상의 모든 서버는 IP 주소를 통해 인터넷에 연결돼 있으므로 어떤 서버에 데이터를 요청하려면 그 서버의 IP 주소를 입력해 이를 요청해야겠지만, 실제 일반 사용자 입장에서 자신이 데이터를 요청하고자 하는 서버의 자리 숫자로 된 IP 주소를 일일이 입력해 데이터를 요청하는 건 현실적으로 난이도가 너무 높다. 이 점을 고려하여 실제 인터넷 서비스는 알파벳과 숫자로 이루어진 식별자인 도메인 네임(...
-
. REST- 년 Roy Fielding이 제시한 네트워크 소프트웨어 아키텍처로, ()서버와 클라이언트의 역할을 명확히 구분하고 ()전송되는 메시지의 형식과 무관하게 일관된 인터페이스로 통신하며(uniform interface) ()통신 전후 맥락과 무관하게 동일한 요청에는 동일한 처리를 거친 후 동일한 응답을 내보내는 것(stateless) 등을 특징으로 한다.- REST를 따르는 소프트웨어를 RESTful...
-
. 네트워크 보안 대 요소 confidentiality: 센더와 리시버 사이 통신 내용을 제자가 보고 알 수 없어야 한다. (센더는 메시지를 암호화 해서 전송하고, 리시버는 이를 해독하여 메시지를 수신한다.) authentication: 센더와 리시버는 서로가 상대라는 것을 인증할 수 있어야 한다. message integrity: 센더와 리시버는 전송된 메시지가 도중에 변경...
-
. 개요- 가장 널리 쓰이는 무선랜 프로토콜인 와이파이의 경우 호스트들이 AP(access point)라는 전파 수신 장치를 향해 와이파이 프레임 전파를 발송하고(이처럼 하나의 AP를 향해 여러 호스트들이 전파를 쏘는 집합을 BSS, basic service set라 한다), AP는 이를 수신하여 이더넷 프레임으로 변환하여 이를 라우터에게 전송한다. 이때 발송하는 전파는 공기를 따라 퍼져나가게 되고, 여러 호...
-
. 개요- link 계층보다 상위 계층에서 네트워크 통신을 이야기할 땐, 한 호스트/라우터에서 다른 호스트/라우터로의 통신이 ‘이쪽에서 저쪽으로 패킷을 보내면 저쪽에서 패킷을 받을 수도 있고 중간에 유실될 수도 있다’라는 식으로 이야기해왔으나, 실제로는 고려해야 할 문제가 더 많다. 예를 들어, 하나의 게이트웨이에 여러 호스트들이 연결돼 있는 네트워크에서는(이런 네트워크를 LAN, local area netw...
-
. network 계층의 forwarding- network 계층에서는 transport 계층에서 전달받은 세그먼트를 패킷에 담아 이를 다른 네트워크 장치로 보내 최종적으로 그 세그먼트의 목적 네트워크 장치로 보내게 된다.- network 계층에서는 forwarding table이 구현돼 있어(이 구현은 별도의 알고리즘을 통해 이루어진다), 수신한 패킷의 목적지(IP 주소)를 forwarding table에서...
-
. TCP의 segment 헤더- TCP의 segement의 헤더는 다음 필드로 이루어져 있다. source port 번호 destination port 번호 sequence number ACK number: TCP의 센더와 리시버는 모두 반대로 리시버이자 센더이기도 하므로 그 segment의 헤더에는 항상 ACK number가 포함된다. 이때, TCP의 ACK ...
-
. multiplexing과 demultiplexing- 상위 계층의 여러 출처에서 여러 단위로 나온 데이터를 하위 계층에서 하나로 묶는 것을 multiplexing이라 한다. application 계층의 여러 소켓에서 나온 message를 transport 계층에서 multiplexing한 단위: segment transport 계층의 여러 segemnt를 network 계층에서 mul...
-
. 네트워크와 인터넷) 네트워크 장치 및 개념- 서로 다른 컴퓨터 단말기 상의 각 프로세스 사이를 여러 장치와 시스템을 통해 서로 연결한 것을 네트워크(network)라 한다. 전선상으로 두 컴퓨터를 직접 연결한 후 각 컴퓨터에서 실행 중인 프로세스끼리 연결시킨 것도 네트워크이고, 수십억 대의 단말기가 여러 전선이나 전파 그리고 이를 중계하는 각종 스위치와 라우터를 통해 연결된 인터넷도 네트워크의 일종이라 할...
-
. application 계층- 네트워크 통신은 결국 network edge의 application 계층의 프로세스 간의 정보전달이라 볼 수 있다. network 계층, link 계층, physical 계층 같은 계층들은 결국 application 계층 간의 통신을 보조하는 계층이라 볼 수 있다.- 인터넷 상의 모든 host는 각자 그 자신의 고유의 IP 주소를 가지고 있다. 이 IP 주소는 변동되는 경우도 ...
네트워크 (16)