개발/네트워크(2)
-
20201017 박세진의 갑작스런 호기심! - web server 상에서 thread - port - socket
어느날 문득 대체 이 내가 굴린 web이 어떻게 데이터를 받아서 어디서 함수를 구현하고 기타 등등을 하는지 내가 너무 잘 모르고 있었다는 생각이 들었다. 그래서 되게 짤막하지만 내 호기심을 해결해준 지식을 공유한다. port - 하나의 프로세스 담당. 보통 서버에서 80번 포트를 엽니다. 즉, server는 하나의 포트로만 request들을 처리하고 있는거임. 아니 하나의 프로세스로..? 넘 비효율적인거 아닌가?? (여담으로, client단에서는 가장 높은 port 순으로 하나씩 연다고 한다. 올~) 대신 하나의 port에서 여러개의 socket을 열 수 있고, 그 socket에서 통신을 통한 여러가지 data들이 오고가는 것이다. 그래서... 그 많은 request를 하나의 프로세스로만 처리한다고..?..
2020.10.17 -
20200623 https
앞으로 네트워크 카테고리는 사실상 내 메모장이나 다를바가 없을듯하다ㅎㅎ 1. 대칭키 서버와 클라이언트가 통신을 할 때에 그 내용을 암호화할 필요가 있다. 그 때 서버와 클라이언트가 서로 똑같이 가진 대칭키를 통하여 전송 내용을 서로 암호화할 수 있고, 똑같이 대칭키를 통해 그 내용을 복호화할 수 있다. 하지만, 이러한 대칭키를 어떻게 전송하느냐의 문제가 있다. 대칭키를 전송할 때 누가 훔쳐보면 어떡하겠는가? 2. public key, private key https에서 사용되는 방식 서로 쌍을 이루는 private key A, public key B가 있으면 A로 암호화된 값은 B로만 복호화할 수 있으며, B로 암호화된 값은 A로만 암호화할 수 있다. 서버는 private key를 가지고 있고 그와 쌍을..
2020.06.23