KNOU STUDYREAD

한국방송통신대학교 통계데이터과학과 블로그

CS & Department of Statistics and Data Science

통계데이터과학과 및 컴퓨터과학 독서

03-1.Web, Http, Web Server

Harryㅤ 2022. 4. 24.

1. Web 애플리케이션

-> 인터넷 등 네트워크 통해 web 브라우저를 조작하고 사용하는 애플리케이션.브라우저를 통해 쇼핑, 인터넷 등등 포함
+)단말기 설치 - Native application(ex. Android-Google Play / ios-App Store, 각종 동영상 오피스 소프트웨어)


2. Web 애플리케이션 - Native 애플리케이션

(web) 브라우저를 통해 애플리케이션 접근 후 web server에서 프로세싱 후 결과를 브라우저에 반환
(native) 설치한 단말기 상에서 프로세스 실행. 플랫폼마다 상이하여 각 개발 필요(Android-Java , ios-Swift)

구분 Web Application Native Application
실행환경 / install 불필요(브라우저) 전용 마켓에서 download, install
장점 어떤 플랫폼에서도 이용가능 네트워크 없어도 이용가능 / 프로세싱성능 높음
단점 네트워크 필수 / 성능 낮음 플랫폼마다 각 언어로 개발 필수

 

3. Request - Response

(Request) -  브라우저가 웹서버에 프로세싱 의뢰
(Response) -  브라우저로부터 받은 request 결과를 브라우저로 송신

 

4. URL(Uniform Resource Locator)

scheme://<user>:<password>@<host>:<port>/<url-path>?<searchpart>

(1) scheme -  통신할때 어떤 프로토콜인지에 따라 다름
                           ftp-파일전송, http-웹서버 접속, mailto-전자메일 행선지, telnet-서버 원격접속, file-파일에 대한 접근
(2) 사용자이름 - 생략가능, 인증이 필요한 서버 접속시 필요
(3) 비밀번호 - 생략가능, 인증이 필요한 서버 접속시 필요
(4)호스트 주소 - 접속 대상의 서버 주소. IP주소 형식 or 도메인 이름 지정
 
(5) 포트번호 - 생략가능, 스키마에서 기본 포트(80) 지정시 임의 생략가능
(6) 문서 path - 접속 대상 서버에 저장된 프로그램이나 파일 경로를 지정. 생략가능
(7) search -  생략가능.서버 문의시 파라미터 지정. scheme=http일때 사용. Query String 이라고 하며 이때 파라미터 형식은 key:value형식. 복수개일 경우 &로 구분.

ex) http://www.nnnn.com/test.jsp -> http 프로토콜 사용하여 서버와 통신+호스트주소인 www.nnnn.com에  에 접급, 사용자 이름과 비밀번호는 생략됐으며 인증이 불필요한 것을 확인가능, test.js에 대한 request를 송신한다.

5. IP 주소와 도메인 이름

IP -  인터넷 상 기기에 할당된 주소 같은 의미. (ex.IPv4, IPv6). 2진수 16진수로 작성
도메인 이름 - 이를 이해하기 쉽게 이름 붙여서 통신함. 중복 없는 고유한 하나의 이름 부여.

www.aaa.co.kr -> www(호스트이름).aaa.co.kr(도메인 이름)

위와 같이 도메인 이름 앞에 호스트 이름을 붙인것을 FQDN(Fully Qualified Domain Name) 이라 하며 FQDN은 IP 주소로 변환된 후 통신함. 변환 담당 서버를 DNS 서버(네임서버)라 하며 최상 도메인인 루트 도메인을 관리하는 DNS 서버 = 루트 서버라함.

DNS 서버 개요

루트서버는 .kr , .com 등 탑 레벨 도메인을 관리하는 서버정보를 가지며 세계적으로 여러곳에 배치됨. 각 레벨 도메인에 요청하여 최종적으로 도메인 이름의 주소 정보를 얻는 구조.

정방향 DNS 룩업 - DNS에서 호스트 이름으로부터 IP 주소 문의
역방향 DNS 룩업 - IP주소로부터 호스트 이름 문의

6. HTTP 통신구조

HTTP(Hyper Test Transfer Protocol) - 브라우저와 web server 사이에 html 등을 비롯한 콘텐츠 송수신에 이용되는 프로토콜.  단방향성, 정보 유출의 안전을 위해 https 사용.

메소드 설명
GET 웹 사이트 열람시, 자원 취득 등 
POST 입력 데이터 서버전송
PUT 자원 갱신
DELETE 자원 삭제
HEAD http 헤더 정보요구
CONNECT 프록시 서버 경유하는 SSL 통신에서 사용
OPTIONS 서버가 support 하는 메소드나 옵션 조사시 사용
TRACE http 동작을 추적

주요 HTTP 상태 코드