부트캠프/코트스테이츠 백엔드 코스

회고 19일

태태코 2023. 3. 20. 17:27
반응형

알고리즘 교육을 마치고 이제 새롭게 네트워크 교육에 대해서 배웠고, pair와 postman이라는 어플리케이션을 통해 데이터를 주고 받는 실습을 해보았던 경험을 했습니다.

 

기본적이으로

 

좁은 범위에서 연결된 네트워크는 LAN이라고 부른다고 하고,  LAN을 확장 시킨 것을 WAN이라고 합니다. LAN에서 WAN으로 확장 시키기 위해서는 라우터에서 외부로 연결하는 회선이 필요한데 그것은 3대 통신사에서 외부로 나가는 선을 돈을 지불하고 서비스를 구매하게 되면 되는 것이다.

 

LAN             VS        WAN

좁은 범위                 넓은 범위

 

프로토콜: 멀리 떨어진 컴퓨터간 동신을 할때의 규약으로 일정한 약속같은 것을 의미한다.

 

먼 곳에있는 사람과 통신을 하기위해서는 IP가 필요하다.

IP는 할당 되는 것이고, IP에는 public IP와 private IP가 있다.

IPv4는 4덩이로 나눈 것이고 00000000 / 00000000/ 00000000/ 00000000을 2진수로 표현하게 된다.

 

 

보통은 통신에서는 패킷을 주고받는 방식을 사용하고, 회선 통신도있다ex) 전화통화 방식

  • IP 주소: 192.168.1.1
  • 서브넷 마스크: 255.255.255.0
  • 네트워크 주소: 192.168.1.0
  • 브로드캐스트 주소: 192.168.1.255

이러한 특성을 가지고 있다면, 3덩어리가 네트워크 부분이고, 한덩어리가 host 부분인데 그것은

서브넷 마스크가 3덩어리가 255로 되어있고, 한덩어리만 사용 가능하기 때문이다.

 

TCP UDP
신뢰성 높다 신뢰성 낮다
3way 핸드셰이크로 연결후 통신 비연결 통신
실시간에 약함 실시간에 강하다

IP를 통해 다른 곳에있는 PC와 연결을 요하지만 IP는 비동기 통신 프로토콜이기 때문에 신뢰가 있는 TCP를 통해 통신을 하기도 한다.

 

Port는 IP를 통해 다를 컴퓨터와 연결을 할 때 어느 작업을 하는 공간으로 들어갈 지 를 결정하는 것을 Port를 통해 결정한다.

 

기본적으로 DNS는 사용자가 편리하게 검색을 하기위해서 IP주소를 외우기 쉽게 나타낸 것이고, 

시나리오---> 만일 사용자가 www.google.com을 입력할경우 DNS서버는 리졸버에게 찾아와!! 라는 명령을 하게되고

---> DNS는 캐시에 저장되어있는 값일경우 바로 반환을 하고 아닐경우 ROOT부터 차근차근 내려오는 형식으로 검색해서 보내준다.

 

URL은 

 

웹 사이트 ---> 정적인 것을 처리

웹 어플리케이션 --> 동적인 것을 처리

대략적으로 이렇게 설명 할 수있고, 보통 클라이언트 <> 서버 아키텍쳐를 사용한다. 세밀하게 말하자면 클라이언트<>서버<>DATABASE를 사용한다. 클라이언트가 서버에게 요청을 하면 서버에서 미들웨어와 여러가지 요소들을 통해 처리해서 DATABASE에게 Resource를 요청하고 받은 요청을 다시 클라이언트에게 제공한다.

이때 클라이언트는 일정한 형식(규약)을 맞춰 Resorces를 요청해야 하는 데 그것을 API라고 말하고, 예를 들면 메뉴판이라고도 말 할 수 있다.

 

  • 브라우저에 https:~~~.com 를 입력합니다.
  • 브라우저는 URL을 입력 받으면 서버의 주소를 찾기 위해 DNS 서버에 요청을 보냅니다.
  • IP 주소를 찾으면 해당 주소에 HTTPS 요청을 보냅니다. 이미 방문 기록이 캐시 메모리에 있으면 주소를 캐시 메모리에서 가져옵니다.
  • 웹서버에 요청이 도착 합니다.
  • 웹서버는 저장소에 요청을 보내 페이지 관련 데이터들을 가져옵니다.
  • 정보들은 가져오는 중에 비지니스 로직이 작용합니다.
  • 비지니스 로직들은 각 데이터들을 어떻게 다룰지가 정해져 있습니다.
  • 로직들을 통해 요청 받은 데이터들이 처리되고 브라우저에 응답합니다.
  • 요청들이 브라우저에 응답으로 돌아왔을 때, web page 화면에서 출력됩니다.

간략하게 SSR CSR이 있는데 

SSR은 서버에서 렌더링을 해서 보내주는 것이고

CSR은 호스트에게 보낸후 렌더링을 하는 것이다.

<간략한 설명>

develop web을 켜보면 ssr은 코드가 다보이지만 csr은 안보인다? 라는 점

 

CORS는 다른 포트에서 연결을 할 때 하용하냐 허용을 안하냐 경우이다.

예를 들어 같은 컴퓨터라도 포트가 80일경우 443일경우 다양한 경우가 있는 데 이를 통해 POST나 리소스를 주고 받는

요청이 있을 때 CORS를 진행하게 된다.

http프로토콜을 사용해서 통신을 할때는 client가 server에 요청을 하는 request메세지가 가고 server에서 다시 

e응답을 해주는 response메세지를 되돌려 주게된다. 

request메세지에는 start-line에 메서드 POST , GET , PUT, DELETE, ... Method가 들어간후 /절대경로

를 통해 path를 보냄과 동시에 http버전을 보내게되고 POST는 body에 JSON이나 XML파일을 넣어서 보낸다.

 

response는 응답으로 start-line에 응답state랑 이유를 반환하고 body에 응답 메세지를 얹어서 응답하게 된다.

 

 

 

오늘은 공공데이터 API를 하는 곳에서 OpenAPI http리퀘스트를 통해서 데이터를 json으로 받아오는 실습을 했는데 정말 재밌었고,

이를 spring으로 데이터를 받아와서 JSON으로 받아 STRING타입으로 변환시켜 정보를 저장시키는 프로그램을 짜보려고 한다.

반응형

'부트캠프 > 코트스테이츠 백엔드 코스' 카테고리의 다른 글

24일차 스프링 프레임워크  (0) 2023.04.11
회고 20~23일차  (0) 2023.03.29
회고 18일  (0) 2023.03.16
회고 18일차  (0) 2023.03.15
대 회고 1  (2) 2023.03.13