안녕하세요! 수업 정말 잘 듣고 있습니다. 들으면서 그동안 들어왔던 용어의 실체가 이것이구나...를 깨달으면서 너무나 발전하는 것 같습니다. 갑자기 궁금해졌던 것은, 패킷은 누가 청소하나 입니다. 예를들어 TTL이 다한 패킷은 라우터가 버리고, 또한 DST에 도달한 패킷(제가 이해하기로는 택배 상자)도 버려지는데, 이 패킷들은 누가 치우는지가 궁금합니다. 그리고 만약 이 역할을 하는 GC같은 쓰레드가 있다면, 원리도 GC와 비슷한 것인지가 궁금합니다. 아직 취업 준비중인 학생이고, 네트워크 개념에 대해 너무 알지 못해서 용어를 잘못 썼을수도 있고, 지식이 부족한 상태입니다. 혹시라도 제가 용어적으로나 개념적으로 실수한 부분이 있다면, 한번 짚어주시면 감사하겠습니다.
안녕하세요 질문의 요지는 해당 pc에 한 개의 client, 한 개의 내부 proxy 서버가 프로세스 단위로 돌아가고 있는데 이들 서로 https 통신을 한다는 것은 이들 끼리 암호화 방식으로 하는 것인지 아니면 client와 Target server와 암호화 방식으로 한 packet을 그대로 proxy 서버를 거쳐서 보낸 것인지 만약 구조가 후자라면 대칭키를 공유하는 것인지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 제가 궁금한 건, 만약 하나의 클라이언트에서 여러 쿠키가 생성되었을 경우가 궁금합니다. 강의에서 "클라이언트가 서버로 요청을 보낼 때 마다 쿠키를 보낸다"라고 하셨는데, 이게 요청한 도메인과 쿠키의 도메인이 일치하고, 쿠키 경로와 일치하는 쿠키만 서버로 전송이 되나요? 전송된다면 해당 경로의 모든 쿠키가 전송되는걸까요? 쿠키가 전송되는 범위?가 궁금합니다ㅠ 클라이언트에서 쿠키를 보내던 아이디 비밀번호를 전송하던, 누군가 아이디 비밀번호에 대한 유효성 검사나, 해당 쿠키는 어떤 세션id와 일치하는지 확인해서 유저 정보를 파악 한다고 생각하는데 이는 모두 서버에서 하는 것일까요? 이전에 발급 받은 쿠키가 있다면, 서버에 값을 전송하지 않고 쿠키를 전송한다고 공부했습니다. 그럼 결국에 클라이언트에서 "이 리소스는 이전에 쿠키를 생성해서 저장이 되어있어!"처럼 클라이언트에서 식별을 해야하는데 클라이언트에서 어떻게 판단을 하고 서버로 리소스를 보낼지, 쿠키를 보낼지 판단을 하나요? 마지막으로, 쿠키와 세션은 모두 http의 무상태 단점을 보완하기 위해 쓰이는 것이라고 생각합니다. 물론 보안적인 측면도 있겠지만요! 하지만 이 둘의 차이는 클라이언트에서 관리하냐 서버에서 관리하냐의 차이로 이해하고 있는데 맞을까요? 생각이 정리 되어있지 않아 약간 복잡하게 질문글 올렸지만 답변 주신다면 정말 감사하겠습니다!
안녕하세요. 강사님 뒤늦게 네트워크 공부를 하고 있는 개발자 입니다. ^^; 질문1) Https는 443 Port number를 사용한다고 알고 있습니다. Microsoft edge, Chrome, Firefox 등 다양한 Web browser가 동작한다면 모두 동일하게 443 Port를 사용하는지요? 질문2) 만약에 질문1이 True라면, SSL Layer의 기능 중, 수신 Packet을 분석해서 Web browser에 맞게 HTTP data를 전송해 주는 기능이 있는 것인지요? 문제가 될 여지는 없는지요? 질문3) SSL은 Daemon 등 어떤 형태로 존재하는지요? 이상입니다!
안녕하세요 :) 강의 들으면서 RFC 7230 문서를 함께 읽어보던 중, Persistence Connection 연결이 종료되는 기준에 대해 궁금한 점이 생겼습니다. Persistence Connection이 종료되는 기준이 궁금해져서 본 강의의 커뮤니티에 질문을 검색했을 때, [Persistence Connection 에는 약 60초의 타임아웃이 있다.]( https://www.inflearn.com/questions/169548/persistence-connection-%EC%97%B0%EA%B2%B0-%EC%9C%A0%EC%A7%80%EC%99%80-%EC%A2%85%EB%A3%8C-%ED%8C%90%EB%8B%A8%EC%9D%98-%EC%A1%B0%EA%B1%B4 ) 라는 답변을 봤습니다. 그래서 "60초의 대기 시간 후에도 클라이언트에서 요청이 없으면 서버가 자동으로 연결을 종료하는구나!" 라고 이해했었는데요, 공식 문서의 Connection 부분에는 [Persistent Connection은 클라이언트, 혹은 서버에서 헤더에 Connection:close를 명시하면 종료된다.]( https://datatracker.ietf.org/doc/html/rfc7230#section-6.3 ) 라는 말이 있더라구요. 그리고 Timeout 에 대해서는 The use of persistent connections places no requirements on the length (or existence) of this timeout for either the client or the server. 라는 말이 있는데, 저는 이 말을 "Persistent Connection은 timeout을 가지고 있지 않다." 라는 의미로 이해했습니다. 여기에서 생긴 제 궁금증은 다음과 같습니다. Persistent Connection은 "요청과 응답이 계속 오가는 상황에서는" Connection:close에 의해 종료되는 것이 맞을까요? 1번의 조건을 전제로 하고, connection이 장기간 idle 상태로 있는 경우에 connection을 낭비하지 않기 위해 timeout 후에 서버가 connection을 종료하는 것인가요, 아니면 계속해서 connection을 열어두는 것인가요? 강의 잘 듣고 있습니다. 감사합니다!
제가 이해하기로는 IP주소에는 네트워크 주소와 호스트 주소가 있고 포트번호는 호스트 주소에 있는 프로세스 더 정확히 말하면 소켓을 구분하는 번호로 사용된다고 이해하고 있는데요. www.naver.com 이나 www.google .com이나 뒤에 :80 포트 번호가 생략된다고 하던데 (https 라면 443 이라고 알고 있습니다) 포트 번호는 호스트 주소에서 프로세스를 구분 하는 용도라고 이해를 했는데 http프로토콜이 80번 포트를 사용한다는게 이해가 가질 않습니다. http가 프로세스는 아니잖아요? 그런데 어떻게 포트 번호가 있는건지.. 네이버나 구글 url주소를 치면 dns서버에서 ip주소로 변환해서 회사 서버에 접속이 되고 그중에서 http 프로토콜에? 웹서비스 접속을 하려고 하니 80번 포트로 접속을 하는 건지.. 그럼 이것은 강의에서 설명하신 포트 중에 서비스 번호를 의미하는건지.. 그리고 포트포워딩에서 포트는 위에 포트를 의미 한다기 보다 강의에서 설명하셨던 2계층 포트를 의미하는건가요? 개념이 뒤죽박죽되어 이해가 가질 않아 답답한 마음에 질문드립니다.ㅠㅠ
강의 3:35에 192.168.0.10 port 3001은 NAT table에 추가가 된게 아니라 갱신이 된 상태를 설명하는 것인가요? 192.168.0.10:3000 / 8080 / 15.15.15.15:5555 192.168.0.10:3001 / 8080 / 15.15.15.15:7777 이게 아니라 192.168.0.10:3001 / 8080 / 15.15.15.15:7777 현재 테이블에 갱신이 되어서 이것만 남아 잇는 상태를 설명해주신게 맞을까요? 근데 만약 이것을 설명한 것이라면 192.168.0.10:3000 / 8080 / 15.15.15.15:5555 192.168.0.10:3001 / 8080 / 15.15.15.15:7777 매핑된 port는 1개인데 15.15.15.15:7777이 3000으로 갈지 3001로 갈지 어떻게 판단을 하나요??
샘의 유튭에서 본 내용인데요 https://www.youtube.com/watch?v=px0HDON5Wa4&list=PLXvgR_grOs1BFH-TuqFsfHqbh-gpMbFoy&index=37 공인 ip를 받을 때 단위가 어떻게 되길래 100개 달라고하면 154개가 낭비가 되나요? c클래스 단위로 줄수밖에 없는 것인가요? (* 6:20 보면 클래스 단위로 준다고 말씀하신것 같은데 예시인가요 아니면 실제로 그렇게 부여되나요?) 177.232.111.220 ~ 177.232.111.255 까지 30개 가져가세요 이렇게 안되나요?
void CSpinLock::lock() { bool expected = false; bool desired = true; while (_locked.compare_exchange_strong(expected, desired) == false) { expected = false; } } SpinLock의 해당 코드에서 _locked의 값이 true일때, expected의 값이 초기에는 false임으로, 해당 반복문을 통과하지 못하고 기다립니다. 그런데 expected가 locked의 값인 true로 바뀌므로 이를 반복문 내에서 expected = false; 값으로 변경해주는데, expected의 값을 false로 변경해주기 전에 true인 locked의 값이 들어오면 아직 expected의 값은 변경되기 전이므로 SpinLock을 빠져 나올 수 있지 않을까요? 코드를 실행해보니 SpinLock이 잘 실행되고 있는 것은 확인했지만, 머리속에서는 납득하지 못한 의문점이 멤돌아서 이렇게 질문 드립니다.
그림에 있는 웹서버가 무엇인가요?? 요청을 사용자 컴에서 보내면 문서 + css파일 + js파일 다 받아온 후에 사용자 컴퓨터의 브라우저가 조립해서 표기를 해주는것으로 알고있습니다. 제가 헷갈리는 부분은 웹서버에서 정적 파일 서빙이후 파일 받으면 웹서버를 거쳐서 was를 갈 필요 없이 바로 was로 갈 수 있을텐데 구조가 저렇게 되있으면 반드시 거쳐가야 하는것 아닌가? 하는 의문이 들었습니다. 물론 서비스를 제공하는 회사별로 다르겠지만 일반적으로 어떻게 되는 것인가요?
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
[리눅스용 도커 설치] 편 4:20 쯤에서 질문있습니다. docker repository 등록할때 자료에 적혀있던 명령어 둘다 안되는데 (1) 강의에 있는 명령어 실행시 (2) 자료 아래 추가로 작성된 명령어 실행시 어떻게 찾아야할지 모르겠어서... 어떻게 해야할까요? 우분투는 20.04로 진행했습니다!
강의 코드를 똑같이 따라하는 도중 TryPop()함수에서 무한 루프에 빠지는 것을 확인하였습니다. 위의 이미지 중 주석처리 한 곳이 TryPop()중 무한 루프에 빠지게 하는 함수입니다. _head와 _tail이 같을 경우 ReleaseRef()에 들어갑니다. 하지만 초기 internalCount는 0이고 unsigned입니다. 때문에 저의 컴퓨터 환경기준 --를 진행할 시 '1073741823'으로 바뀌면서 무한에 가까운 루프에 빠지게 됩니다. 위의 이미지 같이 주석처리 할 경우 강의의 예시처럼 잘 진행되는 것을 확인 하였습니다. 혹시 저 부분을 주석처리 해도 되는지, 안된다면 위와 같은 상황에서 어느 부분을 수정해야 하는지 확인해 주실 수 있으실까요?
안녕하세요 루키스님 제가 c++ icop 멀티스레드 환경에서 서버를 제작하고 원래 언리얼로 클라이언트 만들어서 연동하려했는데 자료가 부족해서 유니티 강의를 참고하려고합니다. Part7 : MMORPG 컨텐츠 구현 (Unity + C# 서버 연동) Part9 : MMORPG 컨텐츠 구현 (DB 연동 + 대형 구조 관리 + 라이브 준비) 두가지의 강의를 들어보려고하는데 유니티와 c#에 대한 지식이없어도 들을수있을까요? 언리얼 연동에 도움이 되는강의가 더 있을까요? Part5 : 데이터베이스(SQL Server) 강의는 수강하려고합니다.