20201017 박세진의 갑작스런 호기심! - web server 상에서 thread - port - socket
2020. 10. 17. 01:07ㆍ개발/네트워크
어느날 문득 대체 이 내가 굴린 web이 어떻게 데이터를 받아서 어디서 함수를 구현하고 기타 등등을 하는지 내가 너무 잘 모르고 있었다는 생각이 들었다. 그래서 되게 짤막하지만 내 호기심을 해결해준 지식을 공유한다.
port - 하나의 프로세스 담당. 보통 서버에서 80번 포트를 엽니다. 즉, server는 하나의 포트로만 request들을 처리하고 있는거임. 아니 하나의 프로세스로..? 넘 비효율적인거 아닌가?? (여담으로, client단에서는 가장 높은 port 순으로 하나씩 연다고 한다. 올~)
대신 하나의 port에서 여러개의 socket을 열 수 있고, 그 socket에서 통신을 통한 여러가지 data들이 오고가는 것이다. 그래서... 그 많은 request를 하나의 프로세스로만 처리한다고..?
그래서 멀티쓰레딩을 활용하여 request를 각각 처리한다고 한다.
stackoverflow.com/questions/18576670/handling-7000-clients-multithreading-tcp-high-traffic
아우 신기해!
'개발 > 네트워크' 카테고리의 다른 글
20200623 https (0) | 2020.06.23 |
---|