dukDukz

[블록체인] http 와 websocket 차이 본문

웹 개발/블록체인

[블록체인] http 와 websocket 차이

헤일리_HJ 2021. 9. 7. 15:06

인터페이스란?

인터페이스 : 리모컨, 클라이언트... 내가 뒤에 만든 프로그램이랑 대화할 수 있는 매개체 (요청만 보내는..)



HTTP 인터페이스

node js (express http server 가 항상 backend로만 구축했던..) 지금은 client 역할만 한다
- 왜 client 역할을 하고 있는가? -> 블록체인이라는 특수성


사용자에게 1,000원 이라는 데이터를 받았다면,

우리는 그 정보를 영구적으로 가지고 있어야만 응답을 줄 수 있는데
이 데이터를 어떤 방식으로 저장할 것인가?

 

- 저장하는 방식
1)  메모리에 저장 - 변수에 저장함
    웹소켓을 껐다가 켰을때 당연히 블록이 날아간다.
    웹소켓을 통해서 서로간에 연결을 시켜주는 채팅 프로그램을 만들었다고 생각해보자

                         websocket
    websocket                    websocket
          websocket        websocket

 # http 인터페이스?
 각각의 websocket 이 1000원을 갖고 있는데
ingoo가 얼마있는지 알고 싶어. 누구에게 물어봐야하는데 그걸 해주는 역할이 누구일까? 누구에게 물어보면 될까?


이럴때 필요한게 인터페이스. 

websocket 이랑 사람이랑 통신할 수 있는 인터페이스 (http) 가 필요함
    

요청) get post 이런식으로 요청을 보내겠지??

http 서버가 나랑 연결 되어있는 websocket 에다 물어본다.
이 흐름을 알기 위해서 http 서버가 하는 역할이 단순 인터페이스 역할이다 라는 것을 정확히 알고 있어야 한다.
단순히 요청을 받아서 그 내용에 뒤따른 처리는 websocket 에 있는 코드들이 해주고

"데이터를 저장하는 방식을 어떻게 했냐"-block.js 에서 해주고
    



[server block network .js] 가 중요

server  

인터페이스의 역할 - 사용자가 어떤 작업을 해야 하는지 정해주는 리모컨 같은 [사용자 인터페이스]

network 

우리가 데이터를 연결짓게끔 하는 backend 라고 생각하면 될듯

block

 단순하게 나의 블럭들을 저장하는 형태를 만드는 공간 [db를 대체한다고 생각해주기]




GUI 
API