44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
3 handshake(with socket library) 관련 질문있습니다.
강의가 너무 유익해서 시간가는줄 모르고 잘 보고있습니다. 좋은 강의 만들어주셔서 대단히 감사합니다. 하지만 강의를 보다가 이해가 잘 안되는 부분이 있어서 질문 드립니다. 강의시간이 1:50 쯤의 그림을 보면서 "socket 라이브러리를 통해 전달" 한다는 것이 이해가 잘 되지 않았습니다. 이 말을 저는 socket 라이브러리가 알아서 3handshake를 해서 연결상태를 보장받고 이후 TCP/IP 패킷을 생성하고 http 메시지를 담아 보내는 것으로 이해했습니다. 그런데 이 과정 중 3handshake와 socket library에 모호한 점이 있었습니다. 1-1. socket 라이브러리에서 3 hand shake 를 그림에서의 과정과 다르게 별도로 진행하여 연결이 되었다고 판단되면, 패킷 생성하고 네트워크 인터페이스 레이어를 지나 인터넷을 통해 서버로 전달. 즉, http 통신 프로세스와는 별개로 따로 서버와 syn / syn+ack / ack 만 주고받는 통신진행을 진행하는지 1-2. 아니면 전체 프로세스(강의에서 제공한 그림처럼)를 http 메세지와 syn이 포함된 TCP/IP 패킷을 생성하여 3번(syn / syn+ack / ack) 진행하는지 만약 1-1번 처럼 socket 라이브러리에서 따로 서버측과 syn / syn+ack / ack 을 통신한다면, 2-1. 최초 서버로 http 요청시 socket 라이브러리에서 3handshake를 실패시 http 요청 자체가 보내지지 않는건지. 그렇게 되면 클라이언트는 어떠한 응답도 못받는 상태가 되는건가요? 2-2. socket 라이브러리에서 3handshake를 하는 과정도 동일하게 TCP/IP 패킷을 생성하는지, 단순히 syn / syn+ack / ack 만 보내는지 궁금합니다. 3-1. 마지막으로 궁금한 것은 socket 라이브러리가 이런 것을 담당한다면 TCP를 이용한다면 반드시 socket 라이브러리를 써야하는 건지 궁금합니다. socket 라이브러리도 대체 가능한지 궁금합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
DNS서버에 조회 해서 웹브라우저에 받아오는 일련의 과정에 대해
안녕하세요.너무 잘보고있는데요.한가지 DNS서버에 조회 해서 웹브라우저에 받아오는 일련의 과정이 조금 헷갈려서 질문드립니다. 1.웹브라우저에서 구글서버로 접속하기위해 1) 먼저 DNS에 접속하여 IP주소와 port정보를 찾아냅니다. 2)그후에 DNS서버로부터 받아온 정보로 HTTP요청 메시지를 생성하는데요. 그럼 https://www.google.com:443/ 까지는 웹브라우저에서 DNS서버를 가서 조회를 해서 IP주소와 port 정보를 조회하여 그 정보만 요청한 웹 브라우저로 넘겨주게되고, 웹브라우저는 다시 DNS서버로 부터 받은 IP주소와port정보를 포함하여 HTTP요청 메시지를 만드는데 그 안에는 path뒤 부터인 /search?q=hello&hl=ko가 구글 서버에 접속해서 관련 정보를 받아온다고 생각하면되는게 맞나요? 그런데 이게 맞다면 1분11초 HTTP메시지에 Host는 www.google.com이고, 또 따로 패킷에 받아온 구글 IP주소 를 to에다가 200.200.200.2로 보내는게 맞는지가 궁금합니다. (제가 생각했을때는 DNS서버로 부터 받아온 IP주소를 Host에다가 200.200.200.2라고 적으면 된다고 생각했었는데, 다시 www.google.com이라고 적어놓으셔서 그럼 HTTP요청 메시지 패킷을 전송할때는 www.google.com와 IP주소 200.200.200.2가 모두 필요한걸까? 라는 의문이 들어서요.) 2. search가 path인데요. 그럼 예를들어 구글 서버 자체에 serarch라는 디렉토리가 있는건가요? 그래서 그 serarch안에 q=hello&hl=ko의 해당정보가 들어있는건가요?... 3. DNS서버도 따로 존재? 한다고 들었는데, 이게 또 SK, LG, KT 등 통신사에 등록이 되어있다고 들었습니다. 혹시 SK의 경우 DNS서버홈페이지같은거는 어디서 알 수 있을까요? 한 번 들어가서 구경하고 싶은데.. 검색해도 안나와서요. 3-1 또 DNS서버로 요청할때도 3way handshake로 동작해서 패킷단위로 던져지는게 맞나요? 4. 제가 생각했을때 http https ftp smtp 마다 호칭을 HTTP요청메시지 or HTTPS요청메시지 or FTP요청메시지 or SMTP요청메시지 이런식으로 각각 따로 불려야 될 것 같은데.. 이거를 그냥 어떤 프로토콜을 사용하던지 'HTTP요청메시지' 라고 통용해서 사용하는 건가요? 5. 1분49초 시작부터 , 이해가 잘 가지않는데요.그럼 지금 이 HTTP메시지 전송과정 전에 이미 DNS서버를 가서 IP주소랑 port번호를 찾아 온후! 진행되는 과정이라는 가정하에 IP주소랑 port번호를 찾았다고 말씀하시는거죠? 그리고 1)소켓라이브러리를 통해서 먼저 찾은IP주소와port번호로 2)syn- syn ack - ack 해서 (가상)구글 서버와 연결을 한 후 3) OS계층인 TCP/IP 로 전달을 합니다. 그다음 패킷을 씌운후 인터넷망으로 던져진다! 순서과정을 이렇게 이해하면 될까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
컨트롤 URI를 쓰는 유즈케이스에 대해 질문드립니다.
강의 내용에서 문서+컬렉션으로 최대한 해결해보지만, 한계가 존재할것이고 이걸 컨트롤 URI로 구현해준다고 이해했습니다. /members/ 가 존재한다면, 여기서 더 디테일한 부분을 고려했을 때 필요한 기능들에 대해 컨트롤 URI를 구현해주는 것일까요? 예를 들면 /members/{id}/delete, /members/{id}/read 디테일한 부분을 체크해줄때 컨트롤 URI를 쓰는것일까요? 감사합니다.
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
DNS 요청 방식에 대해 질문드립니다.
안녕하세요 영한님 항상 좋은 강의 감사드립니다 :) 다름이 아니라 DNS를 공부하면서 의문이 드는 점이 있어 질문드리려고 합니다. 우리가 통상적으로 브라우저에 도메인 이름을 입력하면, DNS에 요청이 들어가고 DNS에서 응답이 오면 반환된 IP를 이용하여 서버로 접속요청을 한다... 라는 맥락으로 강의 내용을 이해했습니다. 그런데 종종 도메인 이름이 아니라 IP를 직접 입력하여 접속을 하는 경우도 있습니다(192.168.0.1)이나 공유기 아이피 접속... 여러가지가 있겠습니다. 질문 요지는 이렇습니다 DNS에 굳이 접속하지 않아도 되는 이런 IP로 접속했을때는 DNS서버로 요청을 보내지 않을 것 같습니다. 그렇다면 DNS로 요청을 보낼지 말지 결정하는 주체는 브라우저인지,,, 누가 결정하는 것인지 궁금합니다. 감사합니다!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
주신ppt자료 사용에대하여
안녕하세요! 영상 너무 잘 보고있습니다.다름이 아니라, 제가 블로그 포스팅을하려고하는데요. 주신 pdf자료로 사진 올리면서 하고싶은데,자료출처밝히고 사진 올리는 형식이면 포스팅 가능한지에 대해 여쭤보려 질문드립니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
그냥 감사드립니다:)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 한동안 포기했다가 다시 강의를 반복해서 돌려보고있는데요. 반복할수록 너무 좋아요!! 다시 한 번 정말 감사드립니다:)
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
UDP개념을 듣다가 질문좀 드립니다.
안녕하세요. 김영한강사님. 수업이 너무 유익하여 감사히 잘 듣고 있습니답. 다름이 아니라 강의를 듣다가 강사님께서 TCP에는 손을 못대고 자기가 직접 최적화 하고 싶은것은 애플리케이션 레벨에서 UDP에다가 내가 원하는걸 만들어 내면 된다고 하셨는데 이미지를 보면 UDP는 전송계층이라고 되어있는데 왜 UDP라는 곳에 내가 원하는 데이터를 담을때 애플리케이션 레벨에서 담는다고 표현을 하신걸까요..?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
실무에서의 실시간 처리 통신 방법에 대해 궁금합니다.
안녕하세요 영한님! 강의 잘 보고 있습니다. "실무에서는 TCP로 직접 서버간의 통신을 하는 경우는 거의 없다. 대부분 그냥 HTTP 통신을 한다" 라고 하셨는데. 그럼 초단위로 갱신되는 동적 실시간 차트를 구현하려고 할 때도 마찬가지로 HTTP 통신으로 해결이 가능한가요? 초 단위로 갱신되는 차트를 HTTP 통신을 통해 해결한다면 주기적으로 서버에 요청을 보내는 로직 밖에 생각이 안나는데.. Q: 실무에서는 이런 실시간 처리를 어떤 통신을 사용하여 기술적으로 해결하는지, 그리고 어떻게 구글링을 하면 근접한 솔루션을 얻을 수 있는 지 궁금합니다!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
제가 잘 이해하고 있는 게 맞는지 확인차 남깁니다!
안녕하세요 영한님 강의 너무 잘 보고 있습니다. 인터넷 네트워크부터 웹 브라우저 요청 흐름까지를 정리하며 제가 역할에 따라 잘 이해한 게 맞는지 궁금하여 질문 남깁니다. TCP, UDP 편에서 “요즘 애플리케이션은 거의 TCP” 를 사용한다고 하셨는데. Q1. 웹 브라우저 요청에서 마찬가지로 TCP 3 way handshake 단계를 거치기에 마찬가지로 순서와 신뢰성이 보장된다고 이해하면 될까요? Q2. 이러한 TCP 의 장점을 통해 구글 서버와의 통신에서 실패했을 때도 마찬가지로 클라이언트는 패킷 요청에 대한 전달 여부를 알 수 있는 걸까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
socket
안녕하세요 선생님!Socket방식으로 통신한다는게 TCP프로토콜을 직접 사용하는 방법과 이 전 강의에서 설명해주신 Socket라이브러를 이용하여 TCP의 3wayhandshaking기능을 수행하는 방법은 같은 걸로 보면 될까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
UDP 질문드립니다
안녕하세요 강사님 TCP는 IP 위에 얹어 사용하는것인데 UDP도 IP 위에 얹어 사용하는 걸로 이해하면 될까요? 아니면 IP 위에 TCP위에 UDP를 얹어 사용하는건가요? 감사합니다
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Host, Port
안녕하세요, 복습 중에 궁금해서 질문글을 올립니다. 아래 질문글들을 다 봤는데요, Host를 찾고 그 안에서 다시 port를 찾는 것이라면 aaa.com 의 포트번호 100번에 배달의 민족 주문 서비스(하나의 .jar파일 실행이라고 가정) bbb.com 의 포트번호 100번에 카카오 선물하기 서비스 이런식으로 따로 연결이 된다는 말씀이신거죠? 그렇다면 200.200.200.2의 포트번호 100에는 또다른 프로그램(서비스)을 연결할 수가 있는 것인가요?
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
컬렉션 - 디렉토리, 스토어 - 저장소에 관한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! 영한님 강의 자료 관련해서 질문이 있습니다! 컬렉션의 디렉토리와 스토어의 저장소의 용어와 관련된 질문 PUT 설명에서 스토어의 '클라이언트가 리소스의 URI를 알고 관리'라는 설명과 관련된 질문 이렇게 두가지를 질문드리고자 합니다. 컬렉션의 디렉토리, 스토어의 저장소라는 용어에 관한 질문 컬렉션(Collection) 설명에서 "서버가 관리하는 리소스의 디렉토리" 라는 설명이 나오는데 조금 이해가 되지 않는 부분이 있어서 질문드려요. 디렉토리(directory) 라는 단어의 뜻은 위키피디아를 참고해서 요약해보자면, 파일 시스템 카탈로그 구조 정도로 볼 수 있을 것 같은데요. 컬렉션이 저장되는 저장소는 여러가지가 있겠지만 디렉토리라고 표현하신 이유가 궁금했습니다. 저는 포괄적인 의미로 저장소라고 생각하고 있었거든요! 또, PUT 설명에서는 저장소라고 표현하셔서 왜 컬렉션은 디렉토리고, 스토어는 저장소지? 하는 의문도 들었습니다. PUT 설명에서 스토어의 '클라이언트가 리소스의 URI를 알고 관리'라는 설명과 관련된 질문 여기서 스토어는 "클라이언트가 관리하는 리소스 저장소, 클라이언트가 리소스의 URI를 알고 관리" 라고 되어있는데요, 실질적으로 관리하는 주체는 서버가 아닌가 해서 여쭤봅니다! 답변 미리 감사드립니다.❤️
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
URI 설계 시 리소스를 수식하는 표현이 필요할 경우
김영한 강사님 안녕하세요. 우선 좋은 강의 감사드립니다. ^^ URI 설계 관련하여 궁금한 부분이 있습니다. 컨트롤 자원을 나타내는 경우가 아니면 명사만 사용하는 것이 올바른 URI 설계인데, 그럼 어떤 명사에 대한 조건이 붙어서 수식이 필요한 경우는 어떻게 설계하는 것이 좋을까요? 예를 들어, 유저의 성별에 따라 반환하는 아이템 목록이 달라질 경우에 클라이언트가 유저의 성별 정보를 알고 있다며 아래와 같이 요청을 주도록 설계가 가능할텐데 /items?gender=femail 클라이언트에서는 유저의 성별에 대한 정보를 알 수 없는 상태이고, 유저의 세션 정보만 가지고 있습니다. 서버에서 클라이언트의 요청을 받고 유저의 세션 정보를 이용해서 성별을 알아내고, 이 성별에 맞는 아이템 목록을 반환해야 합니다. gender가 뭔진 모르는 상태로 요청을 보내지만 gender로 필터링된 item을 반환해야하는 이런 상황에서 URI 설계를 어떤 식으로 하면 좋을까요? /items/gender 와 같이 설계하면 좋을까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Host가 잘 이해되지 않습니다
서버 컴퓨터 하나당 IP가 존재할 것이고 그 서버에는 여러 서버 애플리케이션이 떠있을 수 있잖아요?? (그림에서 aaa.com, bbb.com) 그런데 IP가 200.200.200.2인 서버에 또다른 도메인이 존재하는게 이해가 안갑니다. port로 여러 애플리케이션을 구분하는데, 어떻게 port가 아니라 host로 구분할 수 있나요? 저 서버 그림(2:21)은 IP안에 또다른 IP가 있는 것처럼 이해되어서요 ㅠㅠ ---------- 조금 더 생각해 본 바로는 서버에 떠있는 다른 서버들 (aaa.com, bbb.com)은 [200.200.200.2 + 포트번호 ]로 DNS에 등록되어 있는 식인가요??
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 요청 메시지 질문
GET / search?q=hello HTTP/1.1 Host: www.google.com HTTP/1.1 는 HTTP의 버전이고 www.google.com는 호스트 도메인명이고 GET은 HTTP 메소드인데 / search?q=hello는 그냥 경로나 패스라고 부르나요??
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 메시지 전송에서 3-way handshake 과정에 대한 자세한 설명 부탁드려요
먼저, 좋은 강의 감사드립니다. 강의 1:48초 부근부터 HTTP 메시지 전송 설명해주신 내용을 보면, "TCP/IP로 IP와 PORT를 찾았고 SYN, SYN+ACK, ACK 해서 구글 서버와 연결한다" 라고 하시는데요. 이 내용에 대해서 아래에 대한 추가적인 질문들에 대한 답변을 요청드려요. 1) DNS 서버를 조회해서 IP를 찾아낼 수 있다고 하셨는데 DNS 서버에서 포트정보도 주나요? 아니면 기본 포트 정보(ex) http:80, https:443 )로 서버와 3-way Handshake 과정을 진행하나요? 2) 결국 통신하기 위해서는 네트워크 인터페이스를 거쳐서 서버에 연결이 되어야 하는데 그럼 3 -way handshake 과정은 client의 TCP/IP 계층->client의 네트워크 인터페이스 -> server의 네트워크 인터페이스 -> server의 TC/IP 계층까지만 (not 애플리케이션 계층) 통신을 하는건지 궁금합니다. 답변 부탁드려요. 감사합니다!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Socket 관련하여 질문이 있습니다.
Socket관련하여 궁금한게 있습니다! 1.채팅프로그램 관련하여 WebSocket 이란것을 알게되었는데, 이것도 Socket을 구현한것인가요? 2.그리고 최근 채팅프로그램들은 디자인외에 백단쪽은 WebSocket 으로만 구현을할까요? 그게아니면 필요한기술들이 어떤것들이 있는지 궁금합니다!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTML FORM에서 GET, PUT 외 메소드 사용
안녕하세요! 강의 정말 잘 듣고 있습니다. 감사합니다 ㅎㅎ <질문> HTML Form 태그를 사용해서 데이터 수정을 해야할 때, 1. POST 메소드를 사용하도록 설계(FORM은 GET, POST만 가능하기 때문에)하는 방법 2. 수정이니까 PUT으로 설계하고 아래와 같이 처리하는 방법 이 두 방법 중에 어떤 방법이 더 보편적인 방법인지 궁금합니다. 전에 PUT으로 회원정보 수정 API를 만들었는데, 프론트에서 FORM을 PUT으로 보낼 수 없다고 해서 애 먹다가 위와 같은 방법으로 해결했습니다. 이 경우 그냥 POST를 사용하도록 API를 설계하는게 더 좋은 방법이었을까요??
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의 수강 로드맵을 어떻게 하면 좋나요?
야생형 코스로 jpa 기초 앞부분 jpa 실무1 jpa 실무2 중간정도를 들었는데요 일단 저는 어려운점이 10가지 정도 있었습니다.1. jpa1 에서 thymeleaf 부분이 어려웠는데 그래도 반복해서 보니까 좀 알것 같긴 했어요2. 검색 관련 jpql 이 어려웠어요3. 영속성 컨텍스트 , @transactional등 개념이 어려웠어요4. 지연 로딩 문제 해결 방법이 어려웠어요5. 다대다 매핑이 어려웠어요6. 주문 함수의 인자값이 왜 저렇게 되나7. 어노테이션 모르는게 좀 있었어요8. 컬렉션 관련 문법, -> 문법(java8 문법? 람다?) 이런 부분들이 어려웠어요 9. jpa 실무2 버젼이 올라갈수록 복잡해져서 어렵10. 로그인이나 리액트 연동 같은게 없어서 연습용 프로젝트에 활용이 어렵 근본적인 이유는 자바와 스프링 기초가 부족해서 일까요? http 강의를 보고 나서 느낀점은 jpa 기초 강좌도 그렇고 이것도 어떻게 보면 기초 강의중의 하나잖아요 그런데도 어렵;; 앞의 강의들을 정리하면서 봤는데 실습이 없으니까 내용의 흐름 파악이 쉽지 않고 디테일들고 잘 모르겠는 부분이 많아요 그리고 jpa1과 jpa2 실무 강의를 들으면서 어려웠던게 여전히 어려울것 같아요 mvc1 mvc2 강의를 들어야 될까요? 온라인에서 부족한 자바 실력을 채우려 했는데 차라리 학원을 다녀야 되나 고민이 되요 자바 기본도 부족하고 실무 강의들을 몇번을 반복해서 봐도 어려운 부분들이 많다면 오프라인 학원이 좋을까요?