본문 바로가기

IT개념

(51)
[Network] 1-1. 데이터 통신과 통신망 데이터 통신 데이터 통신의 역사 최초의 데이터 통신: SAGE (공중감시시스템) 세계 최초의 데이터 통신: SABRE (비행기 예약 시스템) 최초 패킷 통신망: ARPANET(1969) 인터넷의 모체, 다수의 컴퓨터에서 하나의 네트워크로 접근 가능 통신프로토콜의 기본요소 구문(Syntax): 데이터를 어떻게 구성할지의 형식 의미(semantic): 데이터를 제어할 방법, 에러 발생했을 때 타이밍(timing): 속도 조절, 순서관리 데이터의 표현 문자: 일반적으로 32비트의 유니코드를 사용 (세계 모든 언어나 기호 표현 가능) 숫자: 부호화 절대치, 1의 보수, 2의 보수 등 숫자로 표시함 이미지: 픽셀로 표시, 파일 형식은 JPG(JPEG), GIF, BMP, PNG, TIF, TIFF 등 픽셀은 화면..
인텔리제이 자주쓰는 단축키 보호되어 있는 글입니다.
[TCP]데이터 보증과 재전송제어 TCP/IP 프로토콜은 연결이 생성된 이후 데이터 송수신이 시작된다. 이에 데이터가 확실히 전달되도록 보증하는 기능에 대해 알아보자. 데이터 손실을 방지하는 구조 이는 확인 응답과 재전송으로 구현된다. 수신 측에 TCP 세그먼트가 도착하면 수신 측은 송신 측에게 도착을 알린다. 이 때 반환하는 것을 ACK라고 하며, TCP 헤더에 ACK 관련 정보를 넣은 TCP 세그먼트를 반환한다. 즉, 하나의 TCP 세그먼트로 응답할 때 데이터의 ACK를 동시에 반환하여 왕복 횟수를 줄인다. 송신 측은 ACK가 돌아오는 것을 보고 전송한 세그먼트가 무사히 도착했다는 것을 알 수 있다. ACK가 오지 않으면 무슨 문제가 생긴것이므로 언제든지 재전송 할 수 있도록 전송이 끝난 TCP 세그먼트도 ACK를 받기 전까지는 소켓..
캐시에 대하여 캐시 캐시란? 캐시는 cash(현금)이 아니라 cache라고 쓴다. 캐시에는 '숨기는 장소'라는 의미가 있다. 컴퓨터 세계에서는 사용 빈도가 높은 데이터를 고속으로 엑세스할 수 있는 위치에 두는 것을 의미한다. CPU의 1차, 2차캐시, 저장소 캐시, OS 페이지 캐시, 데이터베이스 버퍼 캐시 등 광범위하게 일컫는다. 캐시는 임시 저장소를 의미한다. 일부 데이터를 데이터 출력 위치와 가까운 지점에 일시적으로 저장한다. 데이터 재사용을 전제로 한다. 어디에 사용되는가 브라우저 캐시는 웹 브라우저가 접속한 페이지를 캐시하는 것이다. 이를 통해 웹 서버 접속을 줄이고 브라우저 표시를 고속화 할 수 있다. 웹 서버 부하를 줄이는 다른 방법으로는 웹 서버와 클라이언트 사이에 캐시서버를 배치하는 방법..
CORS, SameSite 이슈 CORS (Cross-origin resource sharing) 브라우저는 보안상의 이유로 프로토콜, 호스트, 포트 등 출처가 다른 URL간의 통신을 제한한다. 예를들어 http://abcd.com에서 http://1234.com 을 요청하는 경우 발생한다. 이를 해결하기 위해서는 서버에서 Access-Control-Allow-Origin 헤더에 프론트 주소를 적어주어야 에러가 나지 않는다. SameSite 이전에는 프로토콜이 달라도 도메인이 같으면 같은 사이트로 취급을 했다.(samesite) 그렇기에 http에서 쿠키를 만들고 https를 사용하는 식의 취약점 문제로 브라우저는 http와 https간 통신을 제한했다. form의 post메소드 요청으로 http에서 https로 쿠키를 보낼 수 없게되..
[Network] HTTP 상태코드 상태코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청 수신되어 처리중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 1xx (Informational) 요청이 수신되어 처리중 거의 사용하지 않음 2xx (Successful) 클라이언트의 요청을 성공적으로 처리 200 OK: 요청 성공 201 CREATED: 요청 성공하여 새로운 리소 스가 생성됨 202 Accepted: 요청 접수되었으나 처리 ..
[Network] HTTP에 대해 HTTP란 (HyperTextTransferProtocol) 예전에는 문서간 링크로 연결되는 HTML 문서를 전송하는 프로토콜로 시작되었지만, 지금은 문서뿐만 아니라 모든 것을 HTTP로 전송을 하게 되었다. (HTML, TEXT, JSON, 이미지, 영상 등 거의 모든 형태의 데이터) 서버간 데이터를 통신할 떄도 대부분 HTTP 사용한다. HTTP역사 HTTP/0.9 1991년 : GET 메서드만 지원, HTTP 헤더 X HTTP/1.0 1996년 : 메서드, 헤더 추가 HTTP/1.1 1997년 : 가장 많이 사용되는 버전 HTTP/2 2015년 : 성능 개선 HTTP/3 진행중 : UDP프로토콜 사용, 성능 개선 2와 3버전은 성능개선의 목적이 크기 때문에 1.1 버전의 공부 중요도가 높다. 기반 ..
[Network] URI와 웹브라우저 요청 흐름 URI(Uniform Resource Identifier) 직역 : 자원을 식별하는 통합된 방법 URI는 URL인 로케이터(locator)와 URN인 이름(name) 또는 둘다 같이 분류될 수 있다. URL : 자원의 위치를 알려주는 주소 (http://naver.com/book/novel?name="1984") URN : 자원의 이름 (urn:naver://book:1984) 위치는 변할 수 있지만 이름은 변하지 않는다. URN은 리소스에 이름을 부여한다. URN만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음 URN은 다소 URL과 비슷하게 생겼지만 현재는 쓰이고 있지 않다. 그렇기에 보편적으로 URI와 URL을 동일한 의미로 이야기한다. URL 문법 scheme://[userinfo@]h..