We will find a way, we always have.

-interstellar

Computer Science/네트워크 9

[네트워크] 3xx 리다이렉트 (feat: ERR_TOO_MANY_REDIRECTS)

서론우테코 레벨 2 미션을 하면서 생성 요청이 왔을 때 응답으로 201 Created를 반환하고 Location을 내리라는 요구사항이 있었다.   그래서 코드 구현도 UriComponentsBuilder를 사용해서 URI를 만들고 Location 필드에 넣어주었다.   하지만 이렇게 구현을 해도 Post 요청이 왔을 때, Location으로 리다이렉트 하지 않는다. 왜냐 2xx에선 Location에 값이 있어도 그쪽으로 자동 리다이렉트하지 않는다. 레벨 2 당시에는 놓쳤던 부분이지만 이번 레벨 4 미션을 하면서 왜 201 Created에 Location을 말아 넣는지 알았다. 오다 주웠기 때문이다.    리다이렉션웹 서버는 종종 성공 메시지 대신 리다이렉션 응답을 반환한다. HTTP 헤더에서 Locati..

[네트워크] DNS(Domain Name System) 1편

테코톡 준비할 겸, 공부했던 내용을 다시 복습해보자.  DNS 등장배경아파넷(ARPAnet) 시절에는 아파넷의 호스트 주소(숫자 주소)와 호스트 이름 리스트를 SRI NIC(Stanford Research Institution Network Information Center)에서 일괄 관리하였다. TCP/IP 및 DNS가 개발되기 전까지, 전체 호스트 정보(호스트 이름과 숫자주소)를 담고 있는 텍스트 파일을 온라인에 올리면 네트워크 사용자는 FTP로 다운받아 사용하는 방식이었다. 이 텍스트 파일이 hosts.txt이고, 현재도 운영체제 상관없이 어느 pc에서든 이 파일을 검색할 수 있다. window 같은 경우 windows\system32\drivers\etc 에서 찾을 수 있다.    이 hosts ..

[네트워크] HTTP 응답코드

HTTP 응답 코드 HTTP 응답 코드는 클라이언트의 요청에 대한 서버에서 반환되는 코드를 말한다. 응답 코드를 통해서 요청 결과에 대한 정보를 알 수 있다. 응답 코드는 5개의 분류로 구분된다. 1xx (정보 전달) : 1로 시작하는 응답코드는 서버가 요청을 받았고, 클라이언트는 작업을 진행하라는 의미. HTTP/1.0 이후 거의 쓰이지 않는다. 2xx (성공) : 요청이 서버에서 정상적으로 수신되었음을 나타낸다. 200 OK : 요청이 성공했음을 나타내는 응답 코드. 201 Created : 요청이 성공했고, 자원이 생성되었음을 나타내는 응답 코드. 주로 POST, PUT 요청에 대한 결과. 202 Accepted : 요청은 성공했으나, 서버가 아직 요청을 완료하지 못함. 3xx (리다이렉션) : 클..

[네트워크] TCP와 UDP

TCP와 UDPTCP와 UDP는 OSI 7계층 중 전송 계층에서 사용되는 프로토콜로 포트 번호로 패킷을 전달하는 애플리케이션을 식별한다. TCPTCP(Transmission Control Protocol)는 데이터를 세그먼트(Segment) 단위로 쪼개어 신뢰성을 기반한 통신을 제공한다. TCP의 헤더TCP의 헤더 크기는 최저 20바이트로, 송수신지의 번호 뿐만 아니라 데이터 검증 및 순서 확인을 위한 정보등을 포함하고 있다. 송신지/수신지 포트 번호 UDP의 포트 번호와 마찬가지로 애플리케이션의 식별에 사용되는 숫자이다. 시퀀스 번호 시퀀스 번호는 TCP 세그먼트를 올바른 순서로 정렬하기 위해 사용되는 필드이다. 송신 측 단말은 애플리케이션에서 받은 데이터의 각 바이트에 대해 초기 시퀀스 번호(ISN,..

[네트워크] 네트워크 구성

네트워크 형태 (LAN, MAN, WAN) 네트워크는 거리와 크기에 따라 통신망을 구분한다. LAN(Local Area Network) (근거리 네트워크)은 범위가 건물 안이나 특정 지역인 네트워크로 유선 케이블, 적외선 링크, 무선 송수신기등을 이용하여 통신한다. 집이나 빌딩 안에 있는 사무실 등 지리적으로 제한된 곳에서 컴퓨터와 프린터, 스캐너 등을 연결할 수 있는 네트워크가 LAN이다. MAN(Metropolitan Area Network) 은 LAN보다는 더 넓은 범위의 네트워크이다. 도시와 도시를 연결해주고 ISP(인터넷 서비스 제공 업체) 역할을 수행할 수 있다. 한국의 ISP는 SK telecom, LG U+, KT 가 있다. WAN(World Area Network) (광역 네트워크)는 L..

[네트워크] What is Network?

네트워크란? 네트워크의 사전적 정의는 '모뎀이나 LAN, 케이블, 무선 매체 등 통신 설비를 갖춘 컴퓨터로 서로 연결하는 조직이나 체계, 통신망'이다. 즉 통신 설비로 두 대 이상의 컴퓨터를 서로 연결한 것을 말한다. 조금 추상화 해보면 네트워크란 노드(Node)와 링크(Link)가 서로 연결되어 있으며 서로 정보나 데이터를 공유하는 집합을 말하는 것이다. 여기서 노드는 서버, 라우터, 스위치 등과 같은 네트워크 장치이고, 이들을 연결시키는 것은 유무선 링크이다. 그럼 컴퓨터들은 어떻게 정보나 데이터를 주고 받을까? 컴퓨터간 데이터를 주고 받을 때는 데이터를 패킷(Packet)단위로 쪼개서 주고 받는다. 큰 그림을 퍼즐조각처럼 쪼개서 옮기는 것처럼 용량이 큰 데이터들을 패킷으로 분할하여 전송한다. 만약 ..

[네트워크] 표준화 기구 : 국제 표준화 기구 및 OSI 7 계층

표준화 기구의 종류는 이전글에서 설명했으니 넘어가도록 하고 그중 가장 주목받고 있는 것은 국제표준화기구(ISO)와 전기전자기술자협회(IEEE)이다. 국제 표준화 기구(ISO)는 과학, 기술, 지적활동 등등의 세계 상호간의 협력을 위해 1946년에 설립되었다. ISO가 OSI(Open System Interconnction) 7 계층을 제안하였다. (주목받게 된 이유중 하나!) 📌OSI 7계층 물리계층 데이터 링크계층 네트워크계층 전송계층 세션계층 표현계층 응용계층 이렇게 7계층이 있다. 7계층으로 나눈 이유는 네트워크에 문제가 발생했을시 오류가 발핸하는 구역만 건드리고 다른 단계의 장비 및 소프트웨어는 건들이지 않기 위해서이다 ❗1계층 - 물리계층(Physical Layer) 물리계층에서는 어떤 데이터를..

[네트워크] 프로토콜의 기능

📌프로토콜의 기능 단편화(Segmentation)와 재조립(Reassembly) : 너무 큰 데이터를 이동에 용이한 크기로 자르는 것이 단편화 이것을 다시 복귀시키는 것이 재조립 캡슐화(Encapsulation) : 캡슐안에 숨기는 것처럼 은닉시키는 것을 캡슐화라고 한다. 데이터를 은닉하는 이유는 파손방지 즉 안정성을 위함. 데이터 앞에 제어정보(header)를 부착. 또다른 이유는 보안! 연결제어(Connection Control) : 연결(세션)을 제어한다. 비연결형과 연결형이 있다. 비연결이란 연결이 되어 있지 않아도 데이터를 보낼 수 있고 반대로 연결형은 연결이 되야만 네트워크가 가능하다. 연결형의 예로는 통화가 있고, 비연결의 예는 편지가 있다. 흐름제어(Flow Control) : 통신속도 등..

[네트워크] 네트워크와 프로토콜

📌데이터(Data) 실제 생활의 많은 일들을 간단히 문자, 숫자, 기호 등으로 표현하여 사람이나 컴퓨터가 처리할 수 있도록 만든 자료 📌정보(Information) 데이터를 가공하거나 특정한 의미를 부여하여 사람들 사이의 의사 결정 도구로 활용할 수 있는 값 예를 들어 20이라는 숫자 데이터가 있는데 다른 사람에겐 아무 의미 없는 데이터일수 있지만 나에게는 나이라는 정보가 된다. 범위는 데이터가 더 크고 그 다음이 정보 그리고 가장 위에는 지식이 있다. 📌정보통신의 3대 목표 정확성, 효율성, 보안성 📌정보통신의 3요소 정보원(송신원), 전송매체(전송기기), 정보처리원(수신원) 출처: https://slidesplayer.org/slide/14534524/ 📌네트워크의 발전과정 음성 회선 공중 교환 전화..