본문 바로가기

네트워크

3-1. 프로토콜 표준 스펙에서 정의한 소켓, 포트, TCP 연결 네트워크를 표현하는 방법은 2가지 (OSI 7 layer와 TCP/IP Stack)가 있음 TCP/IP Stack에서 TCP, UDP은 transport layer에 해당하는 스펙이고 IP는 internet layer에 해당하는 스펙 OSI 7 layer와 TCP/IP stack은 서로 어느정도 호환이 됨 OSI 7 layer에서 TCP, UDP는 transport layer에 해당하는 스펙이고 IP는 network layer에 해당하는 스펙 TCP/IP stack은 2가지로 분류할 수 있음 application layer은 어플리케이션 레벨에서 구현/관리 네트워크 기능을 사용하는데 목적 아래 layer들은 하드웨어/펌웨어, OS 레벨 (시스템 레벨)에서 구현/관리 네트워크 기능을 지원하는데 목적 Por.. 더보기
2. 프로토콜과 OSI 7 layer 네트워크가 수행해야 하는 기능들 1. 애플리케이션 목적에 맞는 통신 방법 제공 2. 신뢰할 수 있는 데이터 전송 방법 제공 3. 네트워트 간의 최적의 통신 경로 결정 4. 목적지로 데이터 전송 5. 노드 사이의 데이터 전송 위와 같은 통신 기능이 제대로 동작하기 위해서는 참여자들 사이에서 약속된 통신 방법이 있어야함 바로 네트워크 프로토콜! ※ 네트워크 프로토콜 : 네트워크 통신을 하기 위해서는 통신에 참여하는 주체들이 따라야하는 형식, 절차, 규약 그럼 네트워크 기능을 하나의 프로토콜로 구현할 수 있을까? No! 이는 코드를 하나의 클래스에 전부 구현한다는 얘기와 같음, 유지보수와 변화에 대응하기가 너무 어려워짐 그래서 위와 같이 네트워크가 수행하는 기능들을 모듈화를 해서 프로토콜을 설정해야함 바로 계.. 더보기
TCP/IP와 OSI 7계층 네트워크 (Network) 컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계 네트워크의 기능 어플리케이션 목적에 맞는 통신 방법 제공 신뢰할 수 있는 데이터 전송 방법 제공 네트워크 간의 최적의 통신 경로 결정 목적지로 데이터 전송 노드 사이의 데이터 전송 네트워크에서 통신 기능이 제대로 동작하기 위해서는 참여자들 사이에서 약속된 통신 방법이 있어야 함 이 방법이 바로 네트워크 프로토콜! 즉 네트워크 통신을 하기 위해서 통신에 참여하는 주체들이 따라야 하는 형식, 규약, 절차 이 네트워크의 모든 기능을 단 하나의 프로토콜로 구현할 수 없음 그렇기때문에 모듈화를 통해 기능별로 구현을 해야함 각 기능들이 계층별로 동작하는 것 같아 보여 계층 구조 모델로.. 더보기
CORS (Cross Origin Resource Sharing) CORS (Cross Origin Resource Sharing)란 교차 출처 리소스 공유의 약자로 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처 (도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. 더보기
CSRF (Cross Site Request Forgery)란? CSRF(Cross Site Request Forgery)란 사용자가 자신의 의지와 상관없이 공격자(해커)가 의도한 대로 수정,등록,삭제 등의 행위를 웹사이트에 요청하게 하는 공격이다. (피싱 기반 사용자 간 요청 위조) 이러한 공격을 막기위한 방법이 있다. 1. Referrer 검증 백엔드에서 request의 referrer를 확인하여 도메인이 일치하는지 검증하는 방법이다. 일반적으로 referrer 검증만으로 대부분의 CSRF 공격을 방어할 수 있다. 2. Security Token 사용 (A.K.A CSRF Token) 사용자의 세션에 임의의 난수값을 저장하고 사용자의 요청마다 해당 난수값을 포함시켜 전송시킨다. 백엔드에서 요청을 받을때마다 세션에 저장된 토큰값과 요청 파라미터에 전달되는 토큰값이 .. 더보기
HTTP 상태코드 HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. HTTP 상태 코드 종류 1XX : 조건부 응답 2XX : 성공 3XX : 리다이랙션 완료 4XX : 요청 오류 5XX : 서버 오류 1. 2XX : 클라이언트가 요청한 동작을 성공적으로 처리헀음을 의미한다. 200 : 서버가 요청을 제대로 처리, 보통 서버가 요청한 페이지를 정상적으로 제공했다는 의미로 사용됨 2. 4XX : 클라이언트에 오류가 있음을 나타낸다. 401 : 권한이 없음을 나타내는데, 보통 로그인을 하지 않은 상태에서 접근 시, 발생한다. 403: 권한이 없는 상태에서 접근할때 나타난다. admin이 아닌데 admin과 관련된 동작을 하려할때 발생한다. 404 : 페이지를 찾을 수 없음을 나타낸다. 서버에.. 더보기