- 유저가 웹 브라우저에 URL을 입력한다.
- URL로 지정한 웹 서버에게 HTTP 요청을 송신한다.
- 웹 서버가 요청을 해석한다.
- 웹 서버가 요청받은 파일을 웹 브라우저에 HTTP 응답을 돌려보낸다.
- 웹 브라우저가 수신한 데이터를 해석해서 표시한다.
웹 브라우저가 웹 서버로 보내는 HTTP 요청은 다음의 3가지로 나누어진다.
- 요청 행Request Line
- 메세지 헤더Message Header
- 엔티티 바디Entity Body
GET
: URI로 지정한 데이터를 가져온다.HEAD
: URI로 지정한 데이터의 응답 헤더만을 가져온다.POST
: URI로 지정한 서버의 커맨드에 대해 데이터를 송신한다.PUT
: URI로 지정한 데이터를 전송한 데이터로 덮어쓴다.
- 상태 행Status Line
- 메시지 헤더Message Header
- 엔티티 바디Entity Body
상태 행은 다음의 3가지로 구성되어 있다.
버전
상태 코드
상태 코드 | 의미 |
---|---|
100번대 | 정보, 추가 정보가 있다는 것을 알린다. |
200번대 | 성공, 서버가 요청을 성공적으로 처리했다는 것을 알린다. |
300번대 | 리다이렉트, 다른 URI로 다시 요청을 보낼 것을 요구한다. |
400번대 | 클라이언트 에러, 요청에 문제가 있어 처리하지 못했다는 것을 알린다. |
500번대 | 서버 에러, 서버 쪽에 문제가 있어 처리하지 못했다는 것을 알린다. |
설명문
미리 자신의 메일 계정과 메일 서버의 IP 주소를 설정해둔다.
- 보내는 사람이 설정해둔 메일 서버에게 SMTP로 메일 데이터가 전송된다.
- 받는 사람 메일 주소의 도메인명으로 목적지 메일 서버를 판단한다.
- 목적지 메일 서버에게 SMTP로 메일이 전송된다.
- 도착한 메일을 저장한다.
- 받는 사람에 의해 POP3로 메일이 수신된다.
fene@n-study.com
과 같이 ID@도메인명
의 형식으로 표시된다.메일 전송에 사용되는 프로토클이다.
SMTP는 TCP를 이용하는 응용 계층 프로토콜로써 잘 알려진 포트 25번을 사용한다.
주요 커맨드는 다음과 같다.
SMTP 명령어 | 의미 |
---|---|
HELO | 세션을 시작한다. |
EHLO | 세션을 시작한다(확장 SMTP). |
송신자를 알린다. | |
RCPT | 수신자를 알린다. |
DATA | 메일 데이터를 보낸다. |
QUIT | 세션을 종료한다. |
RSET | 통신을 중단하고 받은 데이터를 파기한다. |
VERY | 유저 아이디를 확인한다. |
NOOP | 아무것도 하지 않는다. |
수신한 메일 데이터를 메일 소프트웨어로 다운로드 한다.
SMTP와 같이 TCP를 이용하는 응용 계층 프로토콜로써 잘 알려진 포트 110번을 사용한다.
주요 명령어는 다음과 같다.
POP3 명령어 | 의미 |
---|---|
USER | 유저 아이디를 보낸다. |
PASS | 패스워드를 보낸다. |
APOP | 패스워드를 암호화해서 보낸다. |
AUTH | 인증 방식을 통지한다. |
STAT | 서버의 상태를 나타낸다. |
LIST | 메일 알람을 나타낸다. |
RETR | 메일을 요구한다. |
DELE | 삭제 표시를 한다. |
RSET | DELE 커맨드를 실행 취소한다. |
UIDL | 메일 유니크 ID 정보를 가져온다. |
- ISP가 제공하는 웹 메일
- ISP 이외의 인터넷 서비스 기업이 제공하는 웹 메일
- PGP
- S/MINE