Computer Science/Network
환경 : ec2 (ubuntu 18.04), spring boot, nginx/1.14.0(ubuntu), certbot으로 domain https 인증서 발급 certbot https 인증서 발급 참고 블로그 https://junho85.pe.kr/2048 - sudo mkdir /var/log/nginx/proxy/ # log, error 파일용 디렉토리 - sudo vi /etc/nginx/proxy_params 아래 코드 작성 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header ..
URI (Uniform Resource Identifier) URI는 URL(Uniform Resource Locator), URN(Uniform Resource Name)을 포함한다. URL, URN은 항상 성립하지만 반대는 성립하지 않는다. Uniform : 리소스를 식별하기 위한 통일된 방식 Resource : 리소스 Identifier : 구분하기 위한 식별자 이름에서 알 수 있듯이 URI는 리소스에 접근하기 위해 필요한 정보이다. URL (Uniform Resource Locator) URL은 리소스가 위치한 정보를 나타낸다. scheme://[host][:port]/[path][query] https://www.google.com:443/search?q=hello scheme : 주로 응용 계..
HTTP HTTP(Hyper Text Transfer Protocol)은 웹 상에서 서버 및 클라이언트 간의 데이터를 주고받기 위한 응용 계층(Application Layer)의 프로토콜로 초기엔 하이퍼 텍스트 형식의 데이터를 주고받았고 현재엔 이미지, 비디오 등 거의 모든 형식의 데이터를 주고받을 수 있게 되었다. 실제로 위와 같이 브라우저에서 확인해보면 HTTP를 사용해서 데이터들을 받는 것을 볼 수 있다. HTTP의 특징 1. 클라이언트 - 서버 (Client - Server) 구조 Request Response 구조 클라이언트는 서버에 요청을 보내고 대기하면 서버는 요청에 대한 결과를 만들어서 응답해준다. 2. 무상태 (Stateless) HTTP 통신에서 서버는 클라이언트의 상태를 보존하지 않는..
전송 계층 (Transport Layer) 네트워크 계층에서는 데이터가 정확하게 목적지까지 도달할 수 있도록 최적의 경로와 대상 IP를 찾아서 전달해준다. 하지만 전송계층보다 아래쪽에 있는 계층들은 데이터가 제대로 잘 전달되었는지 확인하지 않는다. 패킷을 분할해서 전달하는 상황을 생각해보자. 전송계층이 없다면 수신자 입장에선 정확한 데이터인지, 모든 패킷이 도착했는지 알 수 있는 방법이 없다. 전송계층은 위와 같은 상황이 발생하지 않도록 도달한 데이터 손상이 있는지 확인해서 재전송을 요청하기도 하고 무작위로 도착한 분할된 데이터 조각들을 재조립해서 애플리케이션에 전달해준다. 정리하면 전송 계층은 데이터의 오류를 검증하고 순차적으로 잘 전달해주는 서비스를 제공한다. TCP(Transmission Contr..
IP 주소 (IP Address) 군대에 있는 친구에게 택배를 보내야 하면 친구가 있는 부대의 주소를 알아야 보낼 수 있다. 인터넷에선 이 주소와 같은 개념이 IP 주소이다. 우리가 많이 사용하는 IP Version 4의 주소는 네 개의 10진수로 나타내고 있지만 사실은 8비트씩 네 개인 32bit로 표현된다. 숫자 사이의 점(dot)을 각 바이트들을 옥텟(octet)이라고 하고 왼쪽부터 차례로 1 옥텟, 2 옥텟, 3 옥텟, 4 옥텟이라고 부름 여기서 IP 주소는 네트워크 id(Network Id), 호스트 id(Host id) 두 가지 파트로 나뉜다. 네트워크 파트는 IP 주소가 어느 네트워크에 속해있는지 알 수 있는 주소이고 호스트 파트는 네트워크에 안에 속해 있는 기기가 할당받는 주소이다. 네트워..
프로토콜 (Protocol) 컴퓨터와 컴퓨터 사이, 또는 한 장치와 다른 장치 사이에서 데이터를 원활히 주고받기 위하여 약속한 여러 가지 규약. 인터넷 프로토콜 슈트 (Internet Protocol Suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 모음이다. 이 모음은 다른 컴퓨터나 운영체제, 회선 간의 통신이 가능하게 해 주고, 인터넷이 처음 시작하던 시기에 정의되어 현재까지 표준으로 사용하고 있는 TCP(Transmission Control Protocol)와 IP(Internet Protocol)에서 가져와 TCP/IP라고 부르고 이는 OSI 7 계층 모델을 기반으로 단순화한 것이다. 1 계층 - Network Interface OSI 모델의 물리 계층과 데이터 링크 ..