Computer Network 3주차(1)

강현·2022년 4월 7일
0

Computer Network

목록 보기
4/7

Web and HTTP


web service?

  • web page는 objects를 여러개 포함하고 있습니다.
  • web page는 HTML file을 가지고 있어야 합니다. HTML file안에 objects가 있습니다.
  • resource의 주소를 찾아내는 URL필요합니다.


HTTP(hypertext transfer protocol)


  • HTTP는 TCP를 사용합니다.

  • HTTP는 stateless (과거의 서버 정보를 저장하지 않습니다.)

    	중복되는 내용을 요청해도 계속 보냄(저장 데이터 없음)
  • HTTP request message : ASCII (human readable format)

clinet :

  • web object를 request, receive하고 display하는 browser

server :

  • 요청이 들어오면 response를 해서 보내주는 것

message type이 두개

  1. HTTP request
  2. HTTP response

HTTP가 통신을 하는 방식

  1. client가 TCP연결을 시도(socket 생성) socket을 만들때 ip address와 port nember을 이용해
    서 만듭니다.
    👇🏻
  2. server는 TCP 연결 요청이 온것을 허용하고 HTTP message를 주고 받습니다.
    👇🏻
  3. 후에 TCP connection을 closed합니다.

HTTP connection

1. non-persistent

  • 계속 유지되지 않는 connection

    	다른 object를 보내고 싶으면 새로운 connection을 생성해야합니다.


response time

non persistent를 사용하면 response time이 2RTT + file transmission time이 나옵니다.

RTT가 가장 큰 영향을 끼침

RTT : 어떤 작은 packet을 보내고 받는 시간

2.persistent

  • single TCP connection을 이용하여 objects를 주고받습니다.
get method는 file을 요청합니다.

general format


Method


POST method

  • post method는 사용자로부터 form input을 받아서 web server로 업로드를할때 사용합니다.

    	file이나 form input을 올림 데이터는 entitiy body에 저장

URL method

  • form felid가 간단한 경우에 URL부분을 사용하여 form data를 보냅니다.
    (URL method는 GET method를 사용합니다.)

    ex) www.somesite.com/animalserch?monkey&banana

간단한건 entitiy까지 가지않고 URL안에 form input을 추가해서 보내고 확인받습니다.

Method type

버전에 따라 method type이 달라짐
HTTP/1.0

  • GET
  • POST
  • HEAD

HTTP/1.1

  • GET, POST, HEAD
  • PUT
  • DELETE

HTTP response message


status codes : 방금 요청한 request가 정상적으로 처리됐는지를 확인할수 있습니다.

실습
> Telent을 사용하여 TCP connection을 만들어서 제대로 연결이 되었는지 확인할수 있습니다.

host name과 port number가 있어야 정확히 연결하고 확인할수 있습니다.


Cookies (User server state)


HTTP는 status less protocol인데 cookie를 이용하여 status 저장을 사용하는 경우가 있습니다.

web sites는 cookies를 사용하는데 4가지가 필요합니다.

  1. header line이 필요합니다.
  2. user의 host에도 저장이 되고 보통 user browser이 관리를 합니다.
  3. request message헤더 라인에도 있습니다.
  4. web site에서도 db로 저장하고 있습니다.

header line을 따라서 부과적인 정보들이 왔다갔다함

ex) web site에 처음 방문하면 ID를 부여하고 저장합니다. 그러한 정보를 이후에 방문시 사용합니다.

cookie가 사용되는것

  • 인증
  • 추천 (클릭한 정보를 따른 추천)
  • 장바구니

privacy 문제

  • cookie를 통해 이 사용자가 어떤것을 하는지 정보를 수집할 가능성이 있다.

Web caches(proxy server)


origin server에 관여 없이 request를 처리하는 방식

  • client에서 proxy server로 보낸후 요청한 파일을 가지고 있으면 바로 return하지만 없으면 origin server에 요청을하고 보내줍니다.
  • 한번 받은 file은 proxy server에 저장
  • cach는 server의 역할과 client의 역할을 둘다 수행함
  • cach는 주로 ISP가 설치 client와 가까운 쪽에 설치
  • brower의 설정부분을 보면 proxy server가 사용되는지 설정

장점

  • 사용자가 요청했을때 빨리 request를 받을수 있습니다.
  • 학교나 회사나 기관의 access link의 traffic을 줄일수 있습니다. (외부로 나가는 link을 적게 사용하기 때문에)

mail protocol


3개의 components가 있습니다.

  • user agents (mail reader)
  • mail servers
  • SMTP(simple mail transfer protocol)

mail server들이 보내거나 받는 mail을 저장하게 됩니다.
나의 mail server가 있고 상대방의 mail server가 있으면 서로 전달해주는 SMTP가 있습니다.

mail server가 하는일

  • mail box를 유지하고 incoming message가 오면 mailbox에 저장합니다.
  • message queue가 있어서 보내려는 message를 queue에 저장하고 보냄
  • 메세지를 주고받을때는 두개의 메일 서버만 활용하면됩니다.
  • 보내는 사람이 sending mail server(client)가 되고 받는사람이 receiving mail server(server)가 됩니다.

mail server간의 protocol이 SMTP

SMTP

TCP를 사용합니다 reliably transfer이 필요하기 때문 port는 25번을 사용합니다.

sending server가 receiving server로 바로 보냅니다.(direct transfer)

SMTP 3단계
1. handshaking
2. transfer of message
3. closure

HTTP와 비슷하지만 더 많은 command를 사용합니다.
SMTP는 모든 데이터가 7bit의 ASCII로 이루어져야합니다.
SMTP는 persistent connection을 사용합니다.(지속적인 연결을 통해 통신)

ex) mail 작성 > 보냄 user agent를 이용하여 mail server에 보냄 outgoing queue에 담김 후 상대방 mail server에 보냄 상대방의 mail server mail box에 담음 상대방은 열어서 확인하면 user agent에 받게됨 2번과 4번은 SMTP를 사용합니다. 6번은 보통 web이나 pop3를 사용합니다.

SMTP와 HTTP의 비교

  • HTTP pull type
    client가 server로 접속해서 요청
  • SMTP push
    나의 데이터를 server로 보냄

공통점

  • ASCII code를 사용합니다

  • HTTP는 각각의 objects는 하나의 respons message에 전달됩니다.

  • SMTP는 여러개의 objects가 하나의 message에 합쳐져서 보내집니다.

RFC 822

RFC 822는 message를 formet하는 protocol
SMTP는 message를 보내는 protocol입니다.

  • header와 body로 나눠져있음

header

  • To, from, subject같은 내용이 들어감
  • SMTP의 FROM, RCPT TO와 는 다름

여기에 지정된 값은 실제 보이는 값 보내는사람이 수정가능합니다.

body

  • ASCII값으로 보낼 message를 작성

Mail access protocols

받는 유저가 읽어가는 protocol

대표적으로 사용하는것

  • POP, IMAP, HTTP

POP3 protocol

ASCII code를 사용 SMTP와 비슷하게 commend를 보내고 respons를 받는 형식으로 되어있습니다.

authorization phase

  • TCP connection을 생성하며 user id password를 통해 user을 확인하고 연결합니다.

transaction phase

  • list, retr, dele, quit 같은 기능을 수행합니다.

POP3, IMAP 선택

  • 보통 POP3는 mail을 retr후에 dele해서 지웁니다.

이렇게 할시 다른 mail client을 사용해서 보고싶을 때 볼수가 없는 문제가 생깁니다. (지우지 않기 옵션을 선택할수 있습니다.)

  • IMAP은 모든 message를 server에 저장 여저가 message를 folder같은 것으로 따로 저장 가능합니다.

유저 state를 계속 유지합니다.

IMAP을 사용할지 POP3를 사용할지는 mail server가 어떤 protocol을 제공할지에 따라 달라집니다.

0개의 댓글

관련 채용 정보