![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCL5XY%2Fbtstr2XygFg%2FvxkvKtJcg1q0nUm0tF1cD1%2Fimg.png)
DNS: 인터넷의 디렉터리 서비스 호스트 이름(host name) 호스트의 식별자 중 하나 호스트는 IP 주소(IP address)로도 식별됨 예시 : www.facebook.com, www.google.com … 사용 이유(장점) 호스트 이름은 기억하기 쉬워 사용자가 편리함 단점 호스트 이름은 인터넷에서의 호스트 위치에 대한 정보를 거의 제공하지 않는다. 호스트 이름은 라우터가 처리하는데 어려움이 있다. ← 가변 길이의 알파뉴메릭 문자로 구성되어 있기 때문 DNS가 제공하는 서비스 인터넷 디렉터리 서비스(DNS)가 필요한 이유 라우터와 사람의 차이로 인해 호스트 이름을 IP 주소로 변환해 주는 서비스 필요 → 인터넷 DNS(domain name system)의 주요 임무 사람은 기억하기 쉬운 호스트 이..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxmZcu%2FbtssDOd8JFM%2FNfHk9XdVcWlwQt6VJxjKFK%2Fimg.png)
더보기 메일 메시지 포맷 전자메일을 보낼 때 주변 정보가 포함된 헤더가 메시지 몸체 앞에 오게 된다. 주변 정보는 일련의 헤더 라인에 포함되는데 RFC 5322에 정의되어 있다. RFC 5322는 메일 헤더 라인에 대한 정확한 포맷과 그 의미에 대해 해석을 기술 헤더라인과 메시지 몸체는 빈 줄(CRLF)로 분리됨 각 헤더 라인은 키워드, 콜론 값의 순서로 구성되고, 읽을 수 있는 텍스트를 포함 키워드 중엔 반드시 필요한 것과 선택 사항이 있다. 반드시 필요한 키워드 → From: 헤더 라인과 To: 헤더 라인 선택 사항 키워드 → Subject: 헤더 등 이러한 명령어는 SMTP 명령과는 다르다. From To과 같은 공통 단어가 있긴 함 메일 메시지 포맷의 From To→ 메일 메시지 자체의 일부 SM..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeL5NH%2Fbtstzm7MBjf%2FdJgCnmsdNmIzRkXUVeBtI0%2Fimg.png)
인터넷 전자메일 오늘날 인터넷의 가장 중요하고 널리 사용되는 애플리케이션 중 하나 전자메일은 비동기적인 통신 매체 → 상대방 스케줄과 상관없이 자신이 편할 때 메시지를 보내거나 읽는다. 전자 메일은 분배가 쉽고, 빠르고, 저렴함 전자메일은 HTML 포맷 텍스트, 첨부 메시지, 하이퍼링크, 내장된 사진 등의 특성을 지님 인터넷 메일 시스템의 상위 레벨 개념 3개의 주요 요소가 존재 → 사용자 에이전트, 메일 서버, SMTP 사용자 에이전트(user agent) 사용자가 메시지의 응답, 읽기, 전달, 저장, 구성을 가능하게 함 대표적인 사용자 에이전트의 예시 마이크로소프트 아웃룩, 애플 메일, G-Mail 등 사용자가 메시지를 쓰면, 메시지를 메일 서버로 보냄 → 메시지는 메일 서버의 출력 메시지 큐에 들어..
HTTP/2 HTTP/1.1 이후 새로운 첫 번째 HTTP 버전 HTTP/2 가 발표된 이후 2020년 기준 주요 웹사이트 천만 개가 해당 버전을 사용 구글 크롬, 인터넷 익스플로러, 사파리, 오페라, 파이오폭스 등이 지원 HTTP/2는 클라이언트와 서버 간의 데이터 포맷 방법과 전송 방법을 변경 상태 코드, URL, 헤더 필드 등 HTTP 메서드 자체를 변경하진 않음 HTTP/2의 주요 목표 하나의 TCP 연결상에서 멀티플렉싱 요청/응답 지연 시간을 줄이는 것 요청 우선순위화, 서버 푸시, HTTP 헤더 필드의 효율적인 압축 기능 등을 제공 하나의 웹 페이지를 전송하기 위해 병렬 TCP의 수를 줄이는 것 서버를 열고 유지하는데 필요한 소켓을 줄일 수 있다. TCP 혼잡 제어를 제어할 수 있다. But,..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdVku0p%2FbtstsPqn7Pv%2FlIrk4JVYoYKKUeH5UoVsR1%2Fimg.png)
웹 캐싱 웹 캐시(web cache) 기점 웹 서버(origin Web server)를 대신하여 HTTP 요구를 충족시키는 네트워크 개체 프록시 서버(proxy server)라고도 함 웹 캐시는 자체의 저장 디스크를 가지고 있음 → 최근 호출된 객체의 사본을 저장 및 보존 브라우저 웹 캐싱 과정 브라우저는 사용자의 모든 HTTP 요구가 웹 캐시에 가장 먼저 보내지도록 구성될 수 있음 일단 브라우저가 설정되면, 객체에 대한 각각의 브라우저 요청은 웹 캐시에 가장 먼저 보내짐 특정 객체를 요구할 때 발생하는 과정 브라우저는 웹 캐시와 TCP 연결을 설정하고, 웹 캐시에 있는 객체에 대한 HTTP 요청 보냄 웹 캐시는 객체의 사본이 자기에게 저장되어 있는지 확인 저장되어 있는 경우 → 웹 캐시는 클라이언트 브..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsgjMP%2FbtstCFlLbJF%2FRCZqjKKsLY9xkSSVxCEsAk%2Fimg.png)
더보기 쿠키를 사용하는 이유 HTTP 서버는 상태를 유지하지 않는다. 때때로 웹사이트가 사용자를 확인해야 할 때가 존재 → 해당 이유로 HTTP는 쿠키(cookie)를 사용 대부분의 주요 상용 웹사이트는 쿠키를 사용하고 있음 쿠키기술의 4가지 요소와 쿠키 동작 방식 쿠키가 가지는 4가지 요소 HTTP 응답 메시지 쿠키 헤더 라인 HTTP 요청 메시지 쿠키 헤더 라인 사용자의 브라우저에 사용자 종단 시스템과 관리를 지속시키는 쿠키 파일 웹 사이트의 백엔드 데이터베이스 쿠키의 동작 과정 가정 해당 사용자는 PC 인터넷 익스플로러를 통해 항상 웹 접속을 한다. PC로 인터넷 익스플로러를 통해 특정 웹사이트(A)를 접속했다. 해당 사용자는 과거에 웹사이트(B)를 방문한 적이 있다. 과정 웹 서버 A에 요청이 들..
HTTP 메시지 포맷 HTTP 명세서(RFC)는 HTTP 메시지 포맷을 정의한다. 브라우저, 웹 서버, 네트워크 캐시 서버에 의해 삽입될 수 있는 헤더라인 정의 두 가지 HTTP 메시지가 존재 → 응답 메시지와 요청 메시지 HTTP 요청 메시지 예시를 통한 요청 메시지 분석 GET /somedir/page.html HTTP/1.1 // 요청 라인(request line) // ---- 헤더 라인(header line) Host : www.someschool.edu // 객체가 존재하는 호스트를 명시 Connection : close // 브라우저는 서버에게 지속 연결 사용을 원하지 않는다. User-agent : Mozilla/5.0 // Mozilla/5.0 = 파이어 폭스 브라우저 Accept-lan..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchQr3t%2FbtstyvqtD1R%2Flbr8BmmeoKsvmMS2VxnUu0%2Fimg.png)
웹의 등장과 특성 1990년대 초, 새로운 애플리케이션인 월드와이드웹이 등장 가장 큰 장점 → 웹이 온디맨드 방식 온디맨드(On Demand) : 사용자의 요구가 있었을 때 그 요구에 따라 서비스를 제공하는 것 cf ) 라디오 / TV → 콘텐츠 제공자의 주파수를 사용자가 맞춰야 함 이외의 장점 개인이 웹 상에 어떠한 정보를 사용 가능하게 하는 것이 매우 쉬움 → 모든 사람이 매우 낮은 비용으로 발행자가 될 수 있음 하이퍼링크와 검색 엔진은 정보를 얻는데 많은 도움을 준다. 웹과 관련된 프로토콜은 모바일 인터넷 애플리케이션을 위한 플랫폼을 제공 HTTP의 구현 2가지 프로그램으로 구현됨 (클라이언트 프로그램, 서버 프로그램 ) 클라이언트 프로그램 → 각기 다른 종단 시스템에서 수행 클라이언트 프로그램과 ..