** Web
- web page는 여러가지의 objects 들로 구성되어 있다.
( HTML, JPEG, Java applet, audio file ..... )
- 각 objects 들은 URL로 지정된다
( Host name + path name ) --> (www.xxxxxxx.edu + / something/pic.jpg )
** Web's application layer protocol
- client - server model
--> client : 서버로 부터 요청과 수신을 하여 web objects를 보여준다 (display)
--> server : HTTP protocol 을 사용하여 objects 요청을 받아 보내준다.
** TCP
--> 먼저 클라이언트가 TCP connection을 시작한다.
--> 서버가 클라이언트로 부터 TCP connection을 수락하고
--> 서버와 클라이언트가 메시지를 주고 받는다.
--> 끝나면 close로 연결을 끝는다.
** HTTP
- 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 이렇게 규약을 정해두었기 때문에 모든 프로그
램 이 이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다.
- HTTP는 상태를 저장하지 않는다 ( stateless )
- HTTP connection 에는 매번 connection 을 만들어서 주고 받는 non-persistent HTTP 방식이 있고
한번 connection 을 만들어서 여러개의 objects를 주고 받는 persistent HTTP 방식이 있다.
- non-persistent의 경우 추가적으로 사용해야 하는 (메시지 전송과 수신을 위해) overhead가 상대적으로 더 크다.
- 그렇다고 반드시 non-persistent방식이 좋은 것은 아니다.
--> non-persistent를 사용하는데 한번에 여러개의 연결을 parallel하게 맺어 여러데이터를 한번에 보내기도 한다.
** cookies
- HTTP는 stateless 인데 cookies 를 사용하면 stateful하게 가능하다
- 보통 많은 웹은
1. cookie header line of HTTP response message
2. cookie header line in next HTTP request message
3. cookie file kept on user's host, managed by user's browser
4. back-end database at Web site
- 4가지 기능을 위하여 쿠키를 사용한다.
- 예 ) ID,PW 인증, 장바구니 등등
- 장점 : 좀 더 편리하게 Web browsing 을 하게끔 도와준다.
- 단점: privacy 문제가 발생 할 수 있다.
** Web caches (proxy server)
- 자주 사용하는 정보의 경우 메인서버 까지 가지 않고
proxy server를 두어 그쪽에서 저장해둔 정보를 빼오는 방법이다.
(locality 적 특성을 가진다. )
- 클라이언트 - 서버간의 통신속도를 증가시키는 것 보다 훨씬 저렴하다 (cheap!)
'학부생 공부 > 네트워크' 카테고리의 다른 글
SMTP (E-mail) (0) | 2020.04.12 |
---|---|
FTP (0) | 2020.04.12 |
TCP, UDP (0) | 2020.04.06 |
Application Layer (0) | 2020.04.04 |
Internet structure (0) | 2020.03.26 |