URL은 웹에서 특정 리소스(문서, 이미지, API 등)의 위치를 나타내는 주소이다.
https://example.com:8080/path.page.html?query=value#section
| 구성 요소 | 설명 |
|---|---|
프로토콜 (https://) | 통신 방식 지정 (HTTP 또는 HTTPS) |
도메인 (example.com) | 서버의 주소 (IP 주소 대신 사용 가능) |
포트 번호 (:8080) | 서버와 통신할 포트 (기본값: HTTP=80, HTTPS=443) |
경로 (/path/page.html) | 서버 내 특정 리소스 위치 |
쿼리 스트링 (?query=value) | 추가적인 데이터 전달 (예: 검색어, 필터) |
프래그먼트 (#section) | 문서 내 특정 위치로 이동 (서버와 무관) |
https://www.google.com/search?q=FaithCoderLabhttps:// → HTTPS 프로토콜www.google.com → 도메인/search → 검색 페이지 경로?q=FaithCoderLab → 쿼리 스트링 (검색어: "FaithCoderLab")HTTPS는 HTTP + 보안(SSL/TLS 암호화)을 적용한 프로토콜로, 인터넷에서 데이터를 안전하게 주고받기 위해 사용된다.
| 구분 | HTTP | HTTPS |
|---|---|---|
| 보안 | 암호화 없음 (평문 전송) | SSL/TLS 암호화 |
| 데이터 보호 | 중간자 공격에 취약 | 기밀성, 무결성 제공 |
| 포트 번호 | 80 | 443 |
| URL 예시 | http://example.com | https://example.com |
HTTPS는 SSL/TLS 프로토콜을 사용하여 데이터를 암호화한다.
https://example.com)HTTPS에서 데이터를 안전하게 보호하기 위해 대칭키 암호화와 비대칭키 암호화가 사용된다.
키: secretkey123
평문: "Hello"
암호문: "G5H8J9K0L1"
공개키: 공개적으로 공유 가능
비밀키: 서버만 보관
| 비교 항목 | 대칭키 암호화 | 비대칭키 암호화 |
|---|---|---|
| 키 개수 | 1개 (공유) | 2개 (공개키, 비밀키) |
| 속도 | 빠름 | 느림 |
| 보안성 | 키가 유출되면 취약 | 높은 보안성 제공 |
| 사용 사례 | 데이터 암호화 (AES) | 키 교환, 인증서 (RSA, ECC) |
HTTPS에서는 초기 핸드셰이크에 비대칭키, 데이터 전송에는 대칭키를 사용!