1. HTTP란?

- Hypert Text Transfer Protocol

- 80번 포트 사용

- 서버/클라이언트 모델을 따라 데이터를 주고받기 위한 프로토콜

- 암호화되지 않은 평문 데이터를 전송하는 프로토콜

- Application 레벨의 프로토콜이고, TCP/IP 위에서 작동

- Stateless 프로토콜

 

 

 

2. HTTPS란?

- Hyper Text Transfer Protocol Secure

- 443번 포트 사용

- 데이터 암호화가 추가된 프로토콜

- 공개키 암호화방식 사용

   (간단하게 말씀드리면 공개키 암호화방식에서는 공개키로 암호화, 개인키로 복호화는 암호화/복호화로 사용되고

     개인키로 암호화, 공개키로 복호화 하는 과정을 통해 자신이 작성한? 것임을 서명하는 용도로 사용)

 

- 통신과정

1) P기업은 HTTPS를 적용하기 위해 공개키/개인키를 발급한다.

2) CA(Certificate authority) 기업에 돈을 내고 공개키를 저장하는 인증서 발급을 요청(CA는 엄격하게 인증된 기업)

3) CA기업은 P기업의공개키 를 포함한 정보들을 기반으로 인증서를 생성하고, 이를 CA기업의 개인키로 암호화하여 P기업에 제공

4) P기업은 클라이언트(고객)에게 이 암호화된 인증서를 제공한다.

5) 브라우저는 CA기업의 공개키를 가지고 암호화된 인증서를 복호화한다. (브라우저는 인증된 CA기업의 공개키를 가지고 있음)

6) 5의과정을 통해 P기업의 공개키를 알게되었다.

7) P기업의 공개키로 데이터를 암호화해서 요청을 보낸다. (P기업의 개인키는 P기업만 알고있으므로 P기업만 요청을 확인가능하다., 중간에 제 3자는 이 암호화된 요청을 볼 수 없다.)

 

 

 

3. HTTPHTTPS의 장단점,활용

- HTTP는 보안에 취약, HTTPS는 안전하게 데이터를 주고 받을 수 있다.

- HTTPS는 암호화/복호화의 추가과정 때문에 시간이 더 소요된다고 하지만  요즘은 체감할 정도로 심하진 않다.

- CA기업 인증서 발급을 위한 추가비용 소모된다(HTTPS).

- 거의 대부분 HTTPS를 쓴다. 구글등의 검색포털에서 이를 권장하고 노출도 증가등의 이점이 있다

 

'학부생 공부 > 네트워크' 카테고리의 다른 글

쿠키 (cookie) 와 세션 (Session)  (0) 2021.05.31
OSI 7계층  (0) 2021.05.29
TCP(전송 제어 프로토콜) / IP(인터넷 프로토콜)  (0) 2021.05.28
DNS (domain name system)  (0) 2020.04.13
SMTP (E-mail)  (0) 2020.04.12

1. SMTP??

 - application layer protocol (5계층)

 - TCP(4계층) 사용

 - 서버끼리 하는 direct transfer ( sending server to receiving server )

 - commands : ASCII text

 - response : status code and phrase

 - messages must be in 7-bit ASCII(text-based)

 - RFC 822

 

2. Three phases of transfer

 - 1. handshaking (greeting)

 - 2. transfer of messages

 - 3. closure

 

3. SMTP : final words

 - SMTP 는 persistent connections를 사용

 - uses CRLF (to determine end of message)

 

4. HTTP vs SMTP

 - HTTP : pull, 기본적으로 non-persistent 방식 (default)

    (URL을 치면 내가 거기가서 데이터를 당겨오는 방식)

 - SMTP : push, persistent 방식

    (server 가 push하는 방식)

 

5. 그외

 - POP : Post Office Protocol[RFC 1939] -authorization, download

 - IMAP : Internet Mail Access Protocol[RFC 1730] -manipulation of stored msgs on server.....

 - HTTP :  user agent를 사용하지 않고 web에서 바로 주고받는 경우 -gmail, hotmail.....

             ( 가운데 server를 하나 더 놓는 느낌 )

'학부생 공부 > 네트워크' 카테고리의 다른 글

TCP(전송 제어 프로토콜) / IP(인터넷 프로토콜)  (0) 2021.05.28
DNS (domain name system)  (0) 2020.04.13
FTP  (0) 2020.04.12
Web and HTTP  (0) 2020.04.06
TCP, UDP  (0) 2020.04.06

 

** 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

+ Recent posts