https의 원리가 무엇인가요?
기존의 http 방식은 전송중인 데이터의 중요한 정보가 노출될 위험성이 있기때문에
http 통신방식에 ssl(secure sokets layer) 프로토콜위에서 돌아가도록 클라이언트와 서버가
주고받는 텍스트를 암호화하는 프로토콜입니다
관련 개념
프로토콜이란 - 컴퓨터 또는 전자기기 간의 원활한 통신을 위해 지키기로 약속한 규약.
프로토콜에는 신호 처리법, 오류처리, 암호, 인증, 주소 등을 포함한다.
HTTP(Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받는 데 사용되는 프로토콜로,
웹 서버와 클라이언트 간에 데이터를 교환하는 데 사용됩니다.
주로 HTML 문서, 이미지, 오디오 파일 등의 리소스를 전송하는 데에 이용됩니다.
HTTP는 클라이언트가 서버에 요청을 보내고, 서버가 요청에 대한 응답을 제공하는 방식으로 작동합니다.
CORS란 무엇이고 어떻게 구현할 수 있나요?
교차출처 리소스 공유 로 추가 http 헤더를 사용하여 한 출처에서 실행중인 웹 애플리케이션이
다른 출처의 리소스에 접근 할수있는 권한을 부여하도록 브라우저에 알려주는 체제이다
서버 측에서 적절한 HTTP 헤더(Access-Control-Allow-Origin, Access-Control-Allow-Methods 등)를
설정하여 구현할 수 있습니다.
관련 개념
(Same Origin Policy)
웹 브라우저가 동일한 출처에서 가져온 리소스만 불러올 수 있도록 제한하는 보안 메커니즘입니다.
이는 웹 애플리케이션이 다른 출처에서 데이터를 요청하거나 조작하는 것을 방지하여
사용자의 정보 보안을 보호합니다. 같은 출처란 프로토콜, 호스트, 포트가 모두 동일한 경우를 말합니다.
cors가 필요한 이유
CORS가 없는 경우에는 다른 사이트에서 자신의 서버에 대한 요청을 보내고 응답을 받을 수 있기 때문에,
이를 악용하여 사이트 간 요청 위조(CSRF)나 사이트 간 스크립팅(XSS)과 같은 공격을 수행할 수 있습니다.
이를 통해 공격자는 사용자의 개인 정보를 탈취하거나, 피해 사이트의 기능을 악용하여 사용자를 속일 수 있습니다.
TCP 3 way handshake란 무엇인지 설명해주실 수 있을까요?
TCP 3-way handshake는 신뢰성 있는 연결을 설정하기 위해 클라이언트와 서버 간에 이루어지는 세 단계의 과정입니다.
첫째, 클라이언트가 서버에 SYN 패킷을 보내 연결 요청을 합니다.
둘째, 서버는 SYN-ACK 패킷으로 응답하여 요청을 수락하고 클라이언트에게 알립니다.
셋째, 클라이언트는 ACK 패킷을 보내 서버의 응답을 확인합니다.
이 과정을 통해 양쪽은 데이터를 주고받기 전에 연결이 성공적으로 설정되었음을 확인합니다.
TCP 와 UDP 를 비교하여 설명해주실 수 있을까요?
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는
인터넷 프로토콜 스위트의 전송 계층 프로토콜입니다.
TCP는 연결 지향적 프로토콜로, 데이터의 신뢰성, 순서 보장, 오류 검출 및 수정 기능을 제공합니다.
이를 위해 3-way handshake를 사용해 연결을 설정하며, 데이터가 손실되면 재전송합니다.
반면, UDP는 연결 비지향적 프로토콜로, 데이터 전송에 있어서 빠르고 효율적이지만
신뢰성, 순서 보장, 오류 수정 기능이 없습니다.
주로 실시간 애플리케이션(예: 동영상 스트리밍, 온라인 게임)에서 사용됩니다.