44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
대용량 트래픽에 stateless
강의에서는 대용량 트래픽이 발생할 요청에는 stateless로 설계하라고 말씀하셨지만실제로는 로그인 정보나 그외 등등을 유지하고 있잖아요.그럼 반대로 평소에 stateful하게 관리하다가 이벤트 페이지등 대용량 트래픽이 발생할 때 stateless하게 관리되는 정보들은 무엇무엇이 있나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
url 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.웹 브라우저 주소창에 url 을 입력하면웹브라우저가 http get 메시지 를 만들어 준다는 건 알겠는데form(get) 태그나 a 태그 같은 것들은 get 방식의 http 메시지를 만들때도 역시 url 을 만들고 메시지를 보내는 건가요? (같은 get 방식이니까 url 로 넘어가나 해서요....)그러면 이때 태그 정보 중 리소스의 위치 말고 앞에 도메인 같은 것들은 url 만들어 질 때 자동으로 추가되는 건가요 ?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Header 값 중 Host 정보에 대해
만약 도메인 주소가 아니라 IP 주소로 바로 Request를 한다면 Host가 IP 주소로 적히는 거겠죠?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
User-Agent 슬라이드
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]섹션7의 User-Agent에 대한 슬라이드가 누락된거같습니다.분할교재 섹션7과 통합본을 비교했는데 둘다 없길래 문의글 남깁니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
서버 ip를 모르는 경우
클라이언트가 소켓열어서 tcp통신을 하려고 할 때아예 서버와 연결된적이 없어 서버 ip를 모르는 경우에는 어떻게 하나요>??
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
TCP/IP 통신 및 포트에 대한 질문
3 way handshake 과정이 완료되면 서버와 클라이언트가 연결된 상태이므로데이터(HTTP 메시지)가 담긴 패킷을 주고받게 된다. 이때 TCP 계층에선 데이터가 성공적으로 전송/수신됐는지 등을 검증한다고 배웠는데요. 그럼 3way handshake나 수신받은 패킷의 헤더들을 단계별로 확인한 뒤 실제 데이터를 소켓으로 전달하는 작업은 운영체제 관여 하에 이뤄지나요? 클라이언트 애플리케이션은 남은 포트 중 랜덤으로 할당받고(port=0),서버는 80 등으로 미리 지정해서 포트를 받는데 그러면 해당 프로세스의 포트가 정해지는 시점은 소켓을 생성할 때인가요? 프로세스 한개당 반드시 하나의 포트만 할당되나요? (ex: 포트 두개를 바인딩하고서버 소켓을 두개 연다, 한 클라이언트 프로세스가 여러 로컬 포트를 할당받을 수 있다 등이 가능한지..)실제 여러 포트를 할당받을 수 있다면 어떻게 활용되는지 궁금합니다.일반적으로 웹 서비스는 웹 서버(80 포트)와 WAS(8080 포트)로 구성하여웹 서버가 처리하지 못하는 요청은 WAS로 위임한다고 했는데, 웹 서버와 WAS 간 연결에도 http 통신을 사용한다면 웹 서버 프로세스는 기존 80 포트로 바인딩된 소켓을 생성해서 통신하는 것인가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
연결이 유지가 된 상태에서의 자원 소비,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요! 재밌게 보고 있습니다.50초쯤에 클라1,2,3이 하나의 서버에 연결이 되었을 때, 자원의 소모가 계속하여 발생한다고 하셨는데, 이때 클라쪽에서 요청이 없다면 어떤 소모가 서버쪽에서 발생하고 있는지가 궁금해 질문드려봅니다..! 그리고 TCP/IP로 대부분 통신을 한다고 하셨는데, HTTP 프로토콜을 사용하게 된다면 어떠한 동작에 의해 비연결성으로 바뀌는 건지요??
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
분할전송 관련 질문
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 잘 듣고있습니다분할전송에서 Content-Length를 제대로 파악할수가없어서 지정을 하면안된다고 하셨는데아예 Content-Length를 지정할 방법이 없는걸까요?ex) 난 3byte씩 10번 보낼래이런식으로 말이죠 갑자기 궁금해져서 질문남겨봅니다
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
PUT메소드 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 강의 잘 듣고있습니다다른게아니고 강의에서 PUT메소드를 사용하면아예 리소스가 대체된다고 하셨는데그러면 그전에있던 리소스는 되살릴방법이 아예 없는걸까요?그 전에있던 리소스를 다시 사용하고싶으면 애초에 PATCH로 하는게 맞는건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
PRG 새로고침 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]강의 9:20 쯤 PRG 설명에서새로고침을 해도 GET /order-result/19로 가기때문에 문제가 없다라고 하는것은 이해했지만 여기서 뒤로가기 버튼을 눌렀을땐 POST /order로 되돌아가서 중복주문이 되지 않나요? 이때 실무에선 처리는 어떻게 하는지 궁금합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
지속 연결과 SSE
안녕하세요 강사님,제가 프로젝트를 하며 푸시알림을 구현할 때 SSE(Server Sent Event)를 이용하여 구현을 했던 적이 있습니다.지금에서야 http 프로토콜과 관련하여 궁금증이 생겼는데 명확하게 해결이 안되서 질문 올려봅니다!SSE라는 기술은 HTTP의 persistence connection을 이용해서 하는 기술인 것 까지는 알게되었습니다. 이때 Spring boot 내부의 톰캣은 스레드풀을 이용해서 스레드를 관리하고,해당 연결이 끊기지 않는다는 뜻은 이 스레드가 반환이 되지 않는 것이 아닌가 하는 의문점이 생겼습니다. 톰캣의 설정을 따로 건드리지 않는다면 200개의 스레드를 관리한다고 알고 있었는데 200명의 사용자가 푸시알림을 받기 위해 연결을 지속중인 상황이라면다른 요청이 들어왔을때 SSE 연결이 종료되기 전까지 큐에서 대기해야 하는 상황이 생길 수 있는지 궁금합니다!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
PRG 관련 질문
안녕하세요 강사님 좋은 강의 항상 감사드립니다.PRG 패턴 간단한 테스트를 하고자 프론트에서 ajax로 post 요청을 보낸 후, 컨트롤러에서 redirect를 하도록 코드를 짰는데 리다이렉트 되지를 않습니다.구글링을 해보니 ajax는 비동기 방식으로 처리하기 때문에 화면에 영향을 주지 못한다는 글을 보게 되었습니다.ajax 혹은 axios와 같은 비동기 방식으로 post 요청을 보내면 컨트롤러에서 리다이렉트를 시킬 수 없는 건가요?그 이유가 뭔지 궁금한데 답변 주시면 감사드리겠습니다 ! !
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
브라우저 캐시 관련 질문드립니다.
다른 질문들을 봤을 때 캐싱 정책에 따라 브라우저가 캐시 정보를 삭제한다는 글을 본 뒤에도 남는 의문이 남아 질문 드립니다.데이터 최종 수정일에 대한 정보도 브라우저 캐시에 저장되는 건가요?1이 맞다면 해당 정보는 캐시 유효시간과 별도로 삭제되지 않고 저장되는 건가요? + 추가로 그렇다면 데이터 최종 수정일도 캐싱 정책에 따라 삭제될 수 있다는 의미일까요??1이 틀리다면 데이터 최종 수정일은 어디에 저장되는 건가요?또한 강의 전반적인 내용이 데이터 최종 수정일을 알고 있을 경우 서버에서 해당 기간 이후에 수정이 없다는 것을 확인했다면 웹 브라우저 정책에 의해 브라우저 캐시에 해당 정보가 삭제되지 않는 기간동안에는 계속해서 해당 (강의 기준으로) star.jpg를 계속해서 가지고 있다가 데이터 최종 수정일을 기준으로 계속 불러온다는 얘기가 맞을까요??
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP API란 무엇인가요?
매우 추상적인 질문일 수 있을 것 같습니다.HTTP API 자체에 대한 개념이 잘 이해가 되질 않습니다.클라이언트에서 서버로 데이터 전송에 4가지 상황이 있는 것으로 보입니다.그 중 4번째가 HTTP API인 것 같은데, 3번째로 말씀해주신 HTML FORM 사용과 4번째 HTTP API에도 HTML FORM 사용이 속해 있는 것으로 보입니다.그렇다면 HTTP API가 상위 범주에 있고 HTTP API 설계 방식 중 HTML FORM 사용이 그 중 하나인 것이라고 생각하면 되는게 맞는지 궁금합니다.또한 1.의 말이 맞다면 HTTP API는 HTML FORM을 통해 데이터를 전송하는 이외의 데이터를 메세지 바디에 데이터를 넣는다거나, GET으로 URI에 쿼리를 직접 넣는 방식, 그외 전송 방식들을(AJAX,JSON - 이것들이 정확이 무엇인지는 모르겠지만) 이용하는 것이 HTTP API 방식이라고 생각하는게 맞는지 궁금합니다.
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 메시지 전송 그림 질문
그림에서 웹 브라우저가 HTTP 메시지를 생성한다고 할때 클라이언트가 서버를 치게 될 때를 말씀하시는게 맞을까요??SOCKET 라이브러리를 통해 전달 부분에서 A : TCP/IP 연결 한다는 말씀을 하셨는데 그것은 패킷 그림과 별도로 서버와 가상의 연결을 한다는 말씀이 맞을까요?? ((추측) 이때도 TCP/IP 패킷을 전달하는데 영상에 그려진 패킷과는 다른 패킷을 전달하는게 맞을까요? 맞다면 이 TCP/IP 패킷은 어떤 정보를 담아서 전달하는건지 간단하게 궁금합니다.) (즉, SOCKET 라이브러리에 요청(서버) IP,PORT 정보가 있기 때문에 패킷 그림과 별도로 해당 IP, PORT에 사전에 3 hand shaking을 하는 것이 맞을까요??)2.번이 맞다면 사전의 3hand-shaking을 통한 TCP/IP패킷 전달을 통해 먼저 가상의 연결을 한 다음 웹 브라우저 HTTP 메세지 정보 패킷 + OS에서 해당 TCP/IP 패킷을 포함 시켜서 해당 서버로 보낸다는 말씀이 맞을까요??
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시 지시어 전송 주체
서버에서 보내는 Cache-Control: no-cache와클라에서 보내는 Cache-Control: no-cache의 의미가 다를 것 같은데 구체적으로 어떻게 다른지 알 수 있을까요?
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
http 버전 설정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]요청 보낼 때 http 1.1 혹은 2버전으로 셋팅을 직접 하고 싶은데요 이걸 어디에서 어떻게 설정하나요?처음 요청 라인에서 설정하는 것 같은데 실제 요청 시 헤더에서 셋팅을 하는 것인가요? 검색을 하였지만 답을 찾지 못하엿습니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시 유효 기간 초과 전 데이터의 갱신시 동작
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]캐시 유효 기간이 지나기 전에 데이터가 갱신될 가능성은 없나요?개인적인 생각으로는 있을거 같고, 그렇다면 비록 유효 기간이 안지났다 하더라도 캐시를 갱신해줘야 할거 같은데, 이럴 때 동작은 어떻게 될까요?본문 자료로는 캐시 만료 전에는 서버로 요청이 안가는데, 사실은 유효시간 만료 전이던 후이던 상관없이 매 요청마다 서버로도 갱신 검증 요청이 가는것일까요?
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 1.1을 사용하는 이유
HTTP 3.0이 기능 개선이 된 것이니 모두 HTTP 3.0을 사용하면 될텐데 왜 HTTP1.1, HTTP2도 같이 사용하는 걸까요? (비슷한 질문이 있긴하던데 삭제됐다네요.)
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
4계층 프로토콜 패킷 조각화
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]패킷이 순서대로 안오면 서버 쪽에서 패킷을 다시 보내라고 요청한다고 하셨는데tcp헤더에 적혀있는 패킷 순서로 서버 쪽 tcp/ip에서 조립하지 않나요??