web service?
HTTP는 TCP를 사용합니다.
HTTP는 stateless (과거의 서버 정보를 저장하지 않습니다.)
중복되는 내용을 요청해도 계속 보냄(저장 데이터 없음)
HTTP request message : ASCII (human readable format)
HTTP가 통신을 하는 방식
계속 유지되지 않는 connection
다른 object를 보내고 싶으면 새로운 connection을 생성해야합니다.
response time
non persistent를 사용하면 response time이 2RTT + file transmission time이 나옵니다.
RTT가 가장 큰 영향을 끼침
RTT : 어떤 작은 packet을 보내고 받는 시간
get method는 file을 요청합니다.
general format
post method는 사용자로부터 form input을 받아서 web server로 업로드를할때 사용합니다.
file이나 form input을 올림 데이터는 entitiy body에 저장
form felid가 간단한 경우에 URL부분을 사용하여 form data를 보냅니다.
(URL method는 GET method를 사용합니다.)
ex) www.somesite.com/animalserch?monkey&banana
간단한건 entitiy까지 가지않고 URL안에 form input을 추가해서 보내고 확인받습니다.
버전에 따라 method type이 달라짐
HTTP/1.0
HTTP/1.1
status codes : 방금 요청한 request가 정상적으로 처리됐는지를 확인할수 있습니다.
실습
> Telent을 사용하여 TCP connection을 만들어서 제대로 연결이 되었는지 확인할수 있습니다.
host name과 port number가 있어야 정확히 연결하고 확인할수 있습니다.
HTTP는 status less protocol인데 cookie를 이용하여 status 저장을 사용하는 경우가 있습니다.
web sites는 cookies를 사용하는데 4가지가 필요합니다.
header line을 따라서 부과적인 정보들이 왔다갔다함
ex) web site에 처음 방문하면 ID를 부여하고 저장합니다. 그러한 정보를 이후에 방문시 사용합니다.
cookie가 사용되는것
privacy 문제
origin server에 관여 없이 request를 처리하는 방식
장점
3개의 components가 있습니다.
mail server들이 보내거나 받는 mail을 저장하게 됩니다.
나의 mail server가 있고 상대방의 mail server가 있으면 서로 전달해주는 SMTP가 있습니다.
mail server가 하는일
mail server간의 protocol이 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를 사용합니다.
공통점
ASCII code를 사용합니다
HTTP는 각각의 objects는 하나의 respons message에 전달됩니다.
SMTP는 여러개의 objects가 하나의 message에 합쳐져서 보내집니다.
RFC 822는 message를 formet하는 protocol
SMTP는 message를 보내는 protocol입니다.
header
여기에 지정된 값은 실제 보이는 값 보내는사람이 수정가능합니다.
body
받는 유저가 읽어가는 protocol
대표적으로 사용하는것
ASCII code를 사용 SMTP와 비슷하게 commend를 보내고 respons를 받는 형식으로 되어있습니다.
POP3, IMAP 선택
이렇게 할시 다른 mail client을 사용해서 보고싶을 때 볼수가 없는 문제가 생깁니다. (지우지 않기 옵션을 선택할수 있습니다.)
유저 state를 계속 유지합니다.
IMAP을 사용할지 POP3를 사용할지는 mail server가 어떤 protocol을 제공할지에 따라 달라집니다.