Hypertext Transfer Protocol
네트워크를 통해 데이터를 전송하는 데 사용되는 프로토콜
💡 서버와 클라이언트가 데이터를 주고 받기위한 방식이라고 생각하자
📌 예시
- HTTP 요청
GET /hello.txt HTTP/1.1 User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11 Host: www.example.com Accept-Language: en
- HTTP 응답
HTTP/1.1 200 OK Date: Wed, 30 Jan 2019 12:14:39 GMT Server: Apache Last-Modified: Mon, 28 Jan 2019 11:17:01 GMT Accept-Ranges: bytes Content-Length: 12 Vary: Accept-Encoding Content-Type: text/plain Hello World!
Hypertext Transfer Protocol Secure
HTTP 의 보안 버전. HTTP 요청 및 응답을 암호화한다.
💡 즉, HTTP + 암호화 프로토콜(SSL)
SSL (Secure Sockets Layer)
개인키와 공개키를 사용하여 두 당사자 간의 통신을 암호화
- 개인 키 : 웹사이트 소유자가 관리하는 비공개 키
공개키로 암호화된 정보를 복호화
- 공개 키 : 서버를 이용하려는 사용자 모두가 사용 가능한 키
데이터를 암호화된 형태로 변환
📌 예시
- HTTP 요청
GET /hello.txt HTTP/1.1 User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11 Host: www.example.com Accept-Language: en
- HTTPS 로 암호화된 요청
t8Fw6T8UV81pQfyhDkhebbz7+oiwldr1j2gHBB3L3RFTRsQCpaSnSBZ78Vme+DpDVJPvZdZUZHpzbbcqmSW1+3xXGsERHg9YDmpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVRWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHQ==
비교 | HTTP | HTTPS |
---|---|---|
URL | http:// | https:// |
포트번호 | 80 | 433 |
속도 | 더 빠름 | 더느림 |
보안 | x | o |
주 사용처 | 정보 제공 사이트 | 은행 계좌나 개인 정보 관리 사이트 |
계층 | 응용 계층 | 전송 계층 |
💡 핵심은 HTTPS가 HTTP보다 더 안전하다는 것!