July 26, 2021, TIL (Today I Learned) HTTP and Socket

Inwoo Hwang·2021년 8월 26일
0
post-thumbnail

학습내용


HTTP와 HTTPS의 차이는 무엇인가요?

  • 보안의 유무

    • HTTP :: 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜
    • HTTPS :: HTTP에 데이터 암호화가 추가된 프로토콜

    "HTTPS프로토콜은 SSL을 사용함으로써...서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아줍니다."

  • 속도

    • HTTPS는 암호화/복호화의 과정이 필요하기 때문에 HTTP보다 속도가 느림
  • 검색엔진 최적화

    • 동일한 키워드의 페이지(사이트)가 있다고 할 때 사용자가 키워드 검색 시 상위 노출되는 기준 중 하나가 보안 요소 → HTTP사이트보다 HTTPS사이트가 우선 검색될 수 있음
  • 가속화된 모바일 페이지(AMP)

    • 모바일 기기에서 훨씬 빠르게 콘텐츠를 로딩하기 위한 방법으로 구글이 만든 것. 구글의 검색 결과 페이지를 보면 스마트폰과 테블릿의 사용자들이 모바일에서 사용하기 편하도록 AMP 콘텐츠들이 두드러져 보이는 것을 볼 수 있습니다.
  • HTTP: 단순한 정보 조회용

  • HTTPS는 인증서 발급과 유지를 위한 비용 발생

  • HTTPS: 개인정보와 같은 민감한 데이터를 주고 받을 때

[Web] HTTP와 HTTPS 및 차이점

HTTP vs HTTPS 차이, 알면 사이트의 레벨이 보인다.

SSL과 TLS는 무엇인가요?

  • SSL (Secure Sockets Layer)

    • 보안소켓 레이어는 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약이다. 이 규약은 인터넷 같이 TCP/IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해 준다. [출처]: 위키백과
  • TLS (Transport Layer Security)

    • SSL이 먼저 생기고, 90년대 중반 SSL2, SSL3로 업데이트 되면서 이전 버전과의 호환을 신경 쓴 나머지 제약이 많아, 이전 버전과의 호환을 없애고 새롭게 등장한 프로토콜이 TLS
    • 보안 통신을 보장하는 데 사용되는 프로토콜. 웹 브라우징, 이메일. Voice over IP 등에서 사용. 주로 둘 이상의 통신 당사자 사이에서 프라이버시와 데이터 무결성을 제공
    • SSL 3.0을 기초로 해서 IETF가 만든 프로토콜로 이는 SSL 3.0을 보다 안전하게 하고 프로토콜의 스펙을 더 정확하고 안정성을 높이는 목적으로 고안됨.
    • IETF(국제 인터넷 표준화 기구)에서 1999년 1월에 SSL이 표준화가 되면서 TLS로 명칭이 바뀌었dma.

google.com의 TLS 인증서는

  • 어느 기관에서 발급했나요?

  • 만료일은 언제인가요?

  • 어떤 암호화 알고리즘을 사용하여 서명하였나요?

    • Certificate #1: EC 256 bits (SHA256withRSA)
    • Certificate #2: RSA 2048 bits (SHA256withRSA)
  • 해당 암호화 알고리즘은 어떤 암호화 분류방식을 사용하나요?

    • SHA-256(RSA 암호화)
  • 해당 암호화 알고리즘은 키를 몇비트 암호화하나요?

    • SHA-256은 임의의 길이 메시지를 256 비트(bits)의 축약된 메시지로 만들어내는 해시 알고리즘

Gmail TLS 연결의 암호화

보안 전송에 TLS 인증서 사용하기

SSL Report: google.com

HTTP 기반 RESTful API 통신과 소켓 통신의 차이점은 무엇이고 어떤 장단점이 있나요?

  • HTTP 통신
    • 클라이언트의 요청이 있을 때만 서버가 응답 하여 해당 정보를 전송하고 곧바로 연결을 종료하는 방식 (단방향)
    • 데이터 전달 속도 제약 / 적은 서버 부하
      • ex) 메시지 전달과 간단한 것들
  • Socket 통신
    • 서버와 클라이언트가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식 (양방향)
    • 실시간으로 데이터를 주고받는 상황이 필요한 경우에 사용 ( 실시간 동영상Streaming, 실시간 채팅, 온라인 게임 등)

소켓통신 방법에는 크게 두 가지 방법이 있습니다.

  • 두 가지 하위 분류의 이름은 무엇인가요?
    • TCP
    • UDP
  • 두 가지 방법이 사용하는 프로토콜은 어떤 차이점을 갖고 있나요?

"UDP는 TCP와 달리 데이터 수신에 대한 책임을 지지 않는다. 이는 송신자는 정보를 보냈지만, 정보가 수신자에게 제때 도착했는지 또는 정보 내용이 서로 뒤바뀌었는지에 관해서 송신자는 상관할 필요가 없다. TCP보다 안정성 면에서는 떨어지지만, 속도는 훨씬 빠르다"

TCP/UDP 특징과 차이

  • TCP 양방향

  • UDP 일방적

[TCP 와 UDP 차이를 자세히 알아보자](

profile
james, the enthusiastic developer

0개의 댓글