Share
Sign In
Network
HTTP (Hypertext Transfer Protocol)
컴퓨터 간의 웹 페이지와 같은 리소스를 주고받는 데 사용되는 프로토콜
클라이언트와 서버 간의 통신을 규정하며, 웹 상의 대부분의 데이터 전송은 HTTP를 통해 이루어진다.
OSI 7계층의 애플리케이션 계층 프로토콜
클라이언트-서버 모델
상태 비저장 프로토콜
HTTP Request
1.
HTTP 버전 유형
2.
URL
3.
HTTP 메서드
4.
HTTP 요청 헤더
5.
HTTP 본문 (선택사항)
HTTP Method
Method
의미
GET
서버는 요청된 리소스를 반환
POST
서버는 클라이언트가 전송한 데이터를 처리하고 결과를 반환
PUT
서버는 클라이언트가 전송한 데이터를 사용하여 리소스를 업데이트
DELETE
서버는 요청된 리소스를 삭제
HTTP Request Header
키-값 쌍에 저장된 텍스트 정보가 포함
클라이언트가 사용하는 브라우저 및 요청되는 데이터와 핵심 정보 전달
HTTP Request Body
사용자 이름 및 비밀번호 또는 양식에 입력된 기타 데이터와 함께 웹 서버에 제출되는 모든 정보 포함
HTTP Response
웹 클라이언트에서 HTTP 요청에 대한 응답으로 인터넷 서버로부터 수신하는 응답
HTTP 요청에서 요청된 내용을 기반으로 중요한 정보를 전달
HTTP 응답에는 아래 정보들이 포함
HTTP 상태 코드
HTTP 응답 헤더
HTTP 본문(선택사항)
HTTP Status Code
HTTP Status Code
의미
1XX
정보 제공
2XX
성공
3XX
리디렉션
4XX
클라이언트 오류
5XX
서버 오류
HTTP Response Header
HTTP Request Header와 같이 HTTP 응답 본문에서 전송되는 데이터의 언어 및 형식과 같은 중요한 정보를 전달하는 헤더가 함께 제공
HTTP Response Body
GET 요청이 성공하면 요청된 정보가 포함된 본문을 가짐
웹 브라우저에서 웹 페이지로 변환되는 HTML 데이터
HTTPS (Hypertext Transfer Protocol Secure)
HTTP의 보안 버전
동작 원리
암호화 프로토콜을 사용하여 통신을 암호화
SSL(보안 소켓 계층)로 알려졌지만 TLS(전송 계층 보안)이라고 불림
비대칭 공개 키를 사용하여 통신을 보호
두 개의 서로 다른 키를 사용하여 두 당사자 간의 통신을 암호화
개인 키
웹 사이트 소유자가 관리되며 비공개로 유지
웹 서버에 있으며 공개 키로 암호화된 정보를 해독하는데 사용
공개 키
안전한 방식으로 서버와 상호 작용하고자 하는 사용자가 사용 가능
공개 키로 암호화된 정보는 개인 키로만 해독 가능
HTTPS를 사용하는 이유
보안
HTTP 메시지는 일반 텍스트이므로, 권한없는 사용자가 인터넷을 통해 쉽게 접근이 가능하지만 HTTPS는 모든 데이터를 암호화된 형태로 전송
민감한 데이터를 제 3자가 네트워크를 통해 해당 데이터를 가로챌 수 없음
신뢰성
검색 엔진에서 HTTP 신뢰성이 낮기 때문에 HTTPS 웹 페이지를 우선 순위로 지정
HTTP와 HTTPS의 차이점
HTTP
HTTPS
기본 프로토콜
HTTP/1과 HTTP/2는 TCP/IP 사용
HTTP/3은 QUIC 프로토콜 사용
SSL/TLS와 함께 HTTP/2 사용
포트
80
443
보안
추가 보안 기능 없음
퍼블릭 키 암호화에 SSL 인증서 사용
Mc
Subscribe to 'mchlkim'
Welcome to 'mchlkim'!
By subscribing to my site, you'll be the first to receive notifications and emails about the latest updates, including new posts.
Join SlashPage and subscribe to 'mchlkim'!
Subscribe
👍
Other posts in 'Network'See all
mchlkim
SMTP
SMTP (Simple Mail Transfer Protocol) 인터넷에서 이메일을 주고 받는 데 사용되는 표준 프로토콜 작동 방식 SENDER SMTP 서버에 연결하여 수신자 정보, 제목, 본문 등을 포함하는 이메일 메시지를 전송 SENDER'S MAIL SERVER 메시지의 유효성 검사 및 수신자의 메일 서버를 찾아 메시지를 수신자의 메일 서버로 전송 RECEIVER'S MAIL SERVER 메일 서버에 SENDER'S MAIL Server로부터 전달 받은 메시지를 저장 RECEIVER 이메일 클라이언트를 사용하여 메시지를 확인 SMTP Server SMTP 프로토콜을 사용하여 이메일 전송하고 수신할 수 있는 메일 서버 이메일 클라이언트는 이메일 전송을 시작할 수 있게 이메일 공급자의 SMTP 서버와 직접 연결 주요 기능 이메일 메시지 전송 및 중계 메시지 유효성 검사 수신자 메일 서버 찾기
mchlkim
BGP
BGP (Border Gateway Protocol) 인터넷에서 데이터를 전송하는 데 가장 적합한 네트워크 경로를 결정하는 프로토콜 주요 기능 AS 간 라우팅 : 서로 다른 AS 간의 네트워크 연결을 설정하고 유지 경로 정보 교환 : 이웃하는 AS와 라우팅 정보를 주기적으로 교환하여 네트워크 토폴로지 변경점을 파악 최적 경로 선택 : 다양한 경로 정보를 기반으로 최적 경로를 선택하여 트래픽을 효율적으로 전송 정책 기반 라우팅 : 네트워크 관리자가 정책을 설정하여 특정 트래픽을 특정 경로로 라우팅 작동 방식 BGP 세션 설정 TCP 연결을 통해 이웃하는 AS와 BGP 세션 설정 (TCP Port 179) 경로 정보 교환 OPEN 메시지를 통해 서로의 AS 정보, 네트워크 접근 가능성 정보, 경로 정보 등을 교환 최적 경로 계산 수신된 경로 정보를 기반으로 최적으로 경로 계산 다양한 경로 선택 알고리즘 사용 일반적으로 홉 수, 지연 시간, 대역폭, 비용을 고려 경로 업데이트 경로 정보 변경 시에 이웃하는 AS에게 UPDATE 메시지를 통해 업데이트 경로 정보를 전달 경로 유지 KEEP_ALIVE 메시지를 주기적으로 교환하여 세션 유지 및 연결 상태 확인 수행
mchlkim
SSL, TLS
SSL (Secure Sockets Layer), TLS (Transport Layer Security) 암호화 기반 인터넷 보안 프로토콜 SSL은 1996년 SSL 3.0 이후 업데이트되지 않으며 대안으로 TLS를 사용 주요 차이점 SSL/TLS 핸드드셰이크 핸드 셰이크는 브라우저가 서버의 SSL 또는 TLS 인증서를 인증하는 프로세스 서버-클라이언트를 인증 후 암호화 키를 교환 SSL 핸드 셰이크는 명시적 연결, TLS 핸드셰이크는 암시적 연결 SSL 핸드셰이크는 TLS 핸드셰이크보다 단계가 더 많아 복잡하지만 TLS 핸드셰이크는 추가 단계를 제거하고 총 암호 그룹 수를 줄여 프로세스 속도를 높임 알림 메시지 SSL 및 TLS 프로토콜은 알림 메시지를 통해 오류와 경고를 전달 SSL에는 Warning, Critical 두 가지 알림 메시지 유형만 존재 SSL 알림 메시지는 암호화 되지 않음 TLS에는 닫기 알림이라는 추가 알림 메시지 유형이 존재 닫기 알림은 세션 종료를 알림 TLS 알림 메시지는 암호화 됨 메시지 인증 SSL과 TLS는 모두 MAC을 사용하여 메시지가 변조되지 않았는지 확인 SSL은 MD5 알고리즘을 사용하지만, TLS는 더 안전한 HMAC 알고리즘을 사용