본문 바로가기

반응형

Programming/Web

(8)
[Network] Proxy Server(프록시 서버) 프록시 서버 기본 개념 프록시 서버란 통신의 주체(사용자의 PC 또는 웹서버) 사이에서 중개인 역할을 하는 하드웨어 또는 소프트웨어 형태의 서버를 말한다. 프록시 서버를 사용하는 이유 사용자가 익명으로 통신할 수 있다. 프록시 서버는 자신의 IP 주소를 따로 가지고 있다. 사용자의 요청을 외부에 최종 전달하는 것은 프록시 서버이기 때문에 외부에서는 사용자의 PC 또는 서버의 실제 IP가 아닌 프록시 서버의 IP가 노출된다. 캐싱을 통한 효율적인 리소스 관리 가능. 프록시 서버는 사용자의 요청을 캐시 형태로 저장한다. 동일한 요청이 다시 들어오면 최초에 했던 것처럼 요청을 처리하지 않고(목적지 서버에 사용자 요청을 전달하고, 응답을 받는 것) 프록시 서버에 있는 캐시를 사용자에게 반환하는 방식으로 요청을 ..
[Network] 서브넷 마스크 32비트의 IP 주소는 두 부분으로 구분된다. 호스트(컴퓨터 또는 프린터나 라우터와 같은 기타 장치)를 식별하는 부분 호스트가 속한 네트워크를 식별하는 부분 그리고 서브넷 마스크의 역할은 IP 주소 어디까지가 네트워크 부분인지 명시하는 것이다. 서브넷 마스크의 특징 서브넷 마스크는 IP 주소처럼 32비트이고, 0과 1이 32개 나열된 형태를 가진다. 1은 네트워크 주소를 나타내며, 0은 호스트의 주소를 나타낸다. 서브넷 마스크는 반드시 연속한 1과 연속한 0의 형태를 가진다. 1과 0이 혼합된 형태는 존재하지 않는다. ex. 11110000(O), 101010(X) IP 주소와 마찬가지로 비트를 나열하면 구분하기 어려우므로 8비트씩 10진수로 변환하여 '.' 으로 구분하여 표시한다. 서브넷 마스크 표시 ..
OSI model 서로 다른 네트워크끼리 통신하려면 데이터 패킷을 전송하는 법, 받는 법에 대한 공통 규칙(common rules)이 필요합니다. 이 규칙을 프로토콜(Protocol) 이라고 부르는데, TCP(Transmission Control Protocol / 전송 제어 프로토콜), IP(Internet Protocol / 인터넷 프로토콜)가 가장 널리 사용되는 프로토콜 중의 하나입니다. 참고로 그 이름에서 알 수 있듯이 TCP/IP 프로토콜은 인터넷 환경에서 컴퓨터들이 서로 정보를 주고받기 위해 사용되는 프로토콜 입니다. 그리고 TCP/IP는 OSI 7 Layer 중에서 Layer 3, 4를 다루는 프로토콜입니다. OSI model OSI model은 네트워크 통신에서 하드웨어/소프트웨어 요소들이 각각 어떤 역할을..
[Web] 웹의 발전 위에서 아래 방향으로 웹이 발전되었습니다. 웹 서버와 웹 클라이언트 사용자가 인터넷 환경에서 웹 콘텐츠를 열람하려면 사용자의 PC를 웹 클라이언트로 이용한다. 사용자가 직접 콘텐츠가 보관된 웹 서버에 접근할 수 없기 때문이다. 따라서 인터넷 환경에서는 웹 서버와 웹 클라이언트 구조를 통해 웹 콘텐츠를 요청(request), 응답(response)한다. URL 방대한 인터넷 환경에서 원하는 자원만 선택하려면 해당 자원의 정확한 위치를 찾아서 호출해야 한다. 이 작업을 위해 URL(Uniform Resource Locator)이 등장했다. HTTP URL을 통해 원하는 리소스의 위치를 호출할 수 있게 되었다. 이제 리소스를 어떻게 주고받을 것인가에 대해서 웹 서버와 웹 클라이언트 사이의 합의점을 찾아야 한다..
[Web] DNS(Domain Name System) DNS 인터넷상에서는 IP 주소로 통신 상대의 컴퓨터를 식별한다. 하지만 일반적으로 브라우저의 주소창에 입력하는 URL에 IP 주소 대신 도메인명을 입력한다. 도메인명을 IP 주소로 변환하는 DNS(Domain Name System)를 사용하기 때문이다. DNS는 도메인명과 IP 주소의 대응표를 가진 컴퓨터(DNS 서버)를 인터넷상에 배치해 놓고 DNS 서버를 통해 도메인명에 대응하는 IP 주소를 얻는다. 윈도우 명령 프롬프트를 통해 직접 DNS 서버에 문의할 수도 있다. 명령 프롬프트에서 아래와 같이 nslookup 명령어 뒤에 도메인명을 입력하면 도메인명에 대응하는 IP 주소를 얻을 수 있다. nslookup [도메인명] 네이버(www.naver.com)의 도메인명에 대응하는 IP 주소는 다음과 같다..
[Web] Cookie 그리고 Session HTTP와 FTP 웹 애플리케이션 통신에 사용되는 HTTP는 무상태(Stateless), 상태를 가질 수 없는 특징을 가지고 있다. 상태를 유지하는(Stateful) FTP와는 상반된다. HTTP와 FTP의 차이점은 일반 양복점과 맞춤 양복점의 차이점과 비슷하다. HTTP는 일반 양복점이다. 같은 손님이 두 번 세 번 방문해도 점원은 손님에게 "어떤 스타일을 찾으십니까?"라는 질문을 할 것이다. 즉 무상태다. FTP는 맞춤 양복점이다. 찾아온 손님의 정보를 기록해 놓기 때문에 어떤 스타일을 좋아하는지 파악하고 있다. 따라서 손님이 "지난번과 비슷한 것으로 부탁합니다."라고 해도 충분히 알아들을 것이다. 이전의 요청에 입각해 대응하기 때문이다. 즉 상태 유지다. HTTP의 등장배경 HTTP 등장 이전에 파..
[Web] HTTPS HTTP의 문제점 평문이기 때문에 도청 가능 HTTP를 사용한 리퀘스트/리스폰스 통신 내용은 암호화 기능이 없기 때문에 통신 전체가 암호화 되지 않는다. 평문(암호화 되지 않은 메시지)으로 HTTP를 메시지를 보내게 되는 것이다. 통신 상대를 확인하지 않기 때문에 위장 가능 HTTP를 사용한 리퀘스트/리스폰스는 통신 상대를 확인하지 않는다. 리퀘스트를 보낸 서버가 정말로 URI에서 지정된 호스트인지, 리스폰스를 반환한 클라이언트가 정말로 리퀘스트를 출력한 클라이언트인지 모른다. HTTP를 사용한 통신은 상대가 누구인지 확인하는 처리가 없다. 누구든지 리퀘스트를 보낼 수 있다. 또한 리퀘스트가 오면 상대가 누구든지 무언가의 리스폰스를 반환한다. 따라서 HTTP 통신으로는 특정 상대에게만 통신을 허가하는 등..
[Web] TCP/IP TCP/IP TCP/IP는 TCP와 IP를 중심으로 하는 프로토콜의 집합이자 네트워크의 공통 언어. TCP/IP 계층구조 TCP/IP 에서는 네트워크를 통해 통신하기 위한 기능을 계층화하고 복수의 프로토콜을 조합하였다. 총 4계층으로 구성되어 있고 각 계층에 포함된 프로토콜을 조합하여 애플리케이션이 통신한다. 4개 계층의 프로토콜이 모두 정상적으로 제 기능을 해야 통신이 이루어진다. 네트워크 인터페이스층 같은 네트워크 내 인터페이스 간 데이터를 전송하는 역할. 프로토콜: 유선(이더넷)이나 무선 LAN(Wi-Fi), PPP 등이 있다. 네트워크 인터페이스층의 프로토콜이 통신 상대와 같아야 할 필요는 없다. 인터넷층 원격지 네트워크 사이에서 데이터를 전송하는 역할. 프로토콜: IP(엔드투엔드 통신에 이용),..

반응형