반응형
HTTP란?
HTTP(Hyper Text Transfer Protocol): 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜
- 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약이며 브라우저로 데이터를 전송해주는 용도로 많이 사용
- 기본 포트인 80번 포트에서 서비스 대기 중이며, 클라이언트가 TCP 80 포트를 사용해 연결하면 서버는 요청에 응답함
- HTTP는 정보를 "텍스트"로 주고 받음. 따라서 전송 신호를 인터셉트하는 경우 데이터 유출이 발생할 수 있음.
프로토콜이란 ? : 컴퓨터 내부에서 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계를 의미한다.
HTTP의 구조
- HTTP는 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동함
- HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성됨
그러나, HTTP는 서버에서부터 브라우저로 전송되는데 이때, 암호화가 되지 않은 평문 데이터를 전송하기 때문에
제 3자가 정보를 조회할 수 있다는 문제점이 있다. (데이터 유출)
따라서 이를 해결하기 위해 HTTPS가 등장하게 되었다.
HTTPS란?
HTTPS(Hypertext Transfer Protocol secure): HTTP에 데이터 암호화가 추가된 프로토콜
- SSL을 사용하여 암호화를 지원
- HTTP와 다르게 443번 포트를 사용하며, 네트워크 상에서 중간에 제3자가 정보를 볼 수 없도록 공개키 암호화를 지원하고 있음
(이 때문에 http보다 조금 느린 속도)
SSL 인증서란?
- 웹사이트의 ID를 인증하고 암호화된 연결을 가능하게 하는 디지털 인증서
- 웹 서버와 웹 브라우저 사이에 암호화된 링크를 생성하게 해주는 보안 프로토콜 (쉽게 말해 데이터를 암호로 바꿔줌)
- 공개키/개인키 기반으로 데이터를 암호화하기 때문에 데이터는 암호화되고 전송되어 임의의 사용자가 데이터를 조회하여도 원본의 데이터를 보는 것은 불가능하게 해줌
HTTP와 HTTPS의 차이점
- 앞서 언급하였듯 데이터 암호화 즉, SSL 인증서의 유무가 다름
- 검색엔진 최적화(SEO)에 있어서 사이트가 더 상단에 노출됨
(Google은 HTTPS를 적용한 사이트에게 더 상위권에 노출될 수 있도록 가산점을 부여함
반응형
'Computer Science > CS 스터디' 카테고리의 다른 글
브라우저 개념 및 랜더링 원리 (0) | 2023.07.05 |
---|---|
AJAX(Asynchronous Javascript And XML)란 ? (0) | 2023.07.04 |
MVC 패턴이란? (Modal-View-Controller) (0) | 2023.03.15 |
디자인 패턴이란? (Design Pattern) (0) | 2023.03.15 |
[Git] GitHub 프로젝트 업로드 방법 (0) | 2023.02.07 |