44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
안녕하세요. 강의 블로그를 정리했는데 괜찮을지 여쭤봅니다..
안녕하세요. 강의를 보고 블로그에 정리해보았는데 괜찮을지 여쭤봅니다.정리한지는 꽤 되었지만.. 최근 문제가 될 것 같다는 댓글을 받아서 여쭤봅니다.https://azurealstn.tistory.com/123#comment14716519위 글은 강의를 보고 정리한 글입니다.이상한 요지가 조금이라도 발견하시면 바로 비공개로 하겠습니다!감사합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
public 캐시 vs private 캐시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. 프라이빗 캐시와 퍼블릭 캐시 작동방식을 제대로 이해했는지 알고 싶어서 문의 남깁니다.퍼블릭 캐시 같은 경우처음 client가 요청을 했을 때 원서버에서 캐시를 받고 프록시 캐시 서버에 캐시를 저장한 후 client에게 데이터를 넘겨주고이후 다른 client들에게서 요청이 올때는 원서버로 안가고 프록시 캐시 서버로 부터 데이터를 받는 것으로 알고 있습니다.그러면 데이터를 요청했던 client가 다시 요청을 하게 되면 캐시가 결국에는 프록시 캐시 서버에 존재하는 것이므로Q1. 전체 데이터(표현 헤더+ 표현 바디)를 다시 다운로드 하는 것인지 궁금하고(= 프록시 서버로부터 온 응답을 웹 브러우저 캐시에 저장을 하는 것인지 궁금합니다.),Q2. 요청을 할 때 헤더에는 조건부 요청이 없을 것 같은데(캐시가 결국에는 프록시 캐시 서버에 있기 때문에 -> 이 부분도 맞게 이해한 것인지 잘 모르겠네요) 이게 맞는지 궁금합니다. 프라이빗 캐시인 경우Q3. client의 개인 웹브라우저에 캐시를 저장하니깐 재요청시(캐시 유효기간이 지났을 때) 원 서버에서 조건부 요청을 서로 맞추어보는지 궁금합니다.Q4. 만약 그렇다고 하면 결국 서버에 제가 받고 싶은 데이터들이 저장(프록시 캐시 서버와 물리적 위치를 제외하곤 다를게 없다고 주관적인 생각이 듭니다.)되어있다는 것인데 이게 어떻게 해당 client만을 위한 것인지 잘 이해가 안됩니다.감사합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
리소스는 데이터와 같은 말일까요?
리소스를 대체,변경,삭제한다는 말의 의미가 잘 와닿지 않습니다. DELETE/members/100 HTTP1/1형식으로 요청을 보낸다면 HTTP 메서드를 따라 컨트롤러가 구분된다는 말일까요?말 그대로 행위를 표시를 해주는 것 외에 다른 의미가 있는걸까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
특정 회원이 작성한 게시글 불러오기 같은 경우 uri 설계
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) 안녕하세요. 강의 듣다가 아래와 같은 경우는 실무에서는 어떻게 API를 설계하시는지 궁금하여 질문드립니다.[질문1]특정 게시글을 조회하는 api 가 있고, 특정 회원이 작성한 게시글을 불러오는 api 가 있다고 가정하면, 아래와 같이 작성을 하나요? 아니라면 어떻게 설계하면 좋을지 알려주시면 감사하겠습니다!!GET /posts/{id}. : 특정 게시글 조회 APIGET /posts/{memberId}/list : 멤버 id 에 해당하는 게시글 조회 API[질문2]put, patch 를 사용할 때, /members/{id} 이렇게 되어있는데, id는 path variable로 놓고 나머지 값들을 body로 보내는게 맞을까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
401과 403 상태코드
[질문 내용]제가 이해한 게 맞는지 확인 부탁드립니다.401은 인증이 되지 않았을 때, 403은 인가에 문제가 있을 때 응답되는 상태코드가 맞나요?인가에 문제가 있을 때에도 401이 반환된다는 건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
같은 프로세스에서 포트번호가 구분되는지 궁금합니다
강의에서 게임은 8090 , 화상통화는 21000, 웹 브라우저는 10010 이라고 예시가 나와있습니다. 만약에 크롬을 2개를 키거나 크롬, 사파리 이렇게 켰을때 포트번호가 겹칠 수도 있다고 생각되고 크롬에서 여러개의 페이지를 열었을때 어느 페이지에서 요청했는지 어떻게 구분하는지 궁금합니다.
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
브라우저 포트할당
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]클라이언트에서는 브라우저 창 하나당 포트 하나할당인가요?크롬 한창, 익스폴로러 두창이면 총 세포트 할당되나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
3way hand shake관련 질문 드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: )질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 복습하다가 궁금한 점이 생겨 질문드립니다 3 way handshake가 tcp 계층에서 실행되는데 연결시 ip 정보 없이 port정보로만 연결 하는 것인가요 ???그러면 3 way hand shake 연결 후 ip layer에서 ip정보 , network access layer에서 mac 정보가 추가된 후 클라리언트에게 패킷을 전달하는 것인가요???
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
쿠키와 http 설정에 대해서 질문드립니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. 궁금한게 있어 질문드립니다.쿠키 강의영상에서 domain과 path속성은 HTTP 응답일때 해당하는 속성인건가요? HTTP 요청일떄 해당하는 속성인건가요? 그리고 [쿠키]에 관한 영상의 11분경에 " 쿠키가 막 생기면 큰일나겠죠?" 라는 말을 하셨는데, 무슨 의미인건가요? 제가 질문한 1번에 대한 답이 HTTP응답이라면, 응답해주는 입장에서는 쿠키는 사용자 PC에 저장되니 굳이 많이 저장되도 신경 안쓰지 않나요? 왜 도메인 속성을 지정안하면 큰일난다는 건가요? 이해가 안됩니다. HTTP응답에 Secure이나, HttpOnly 같은것은 서버쪽에서 지정해주는건가요? 그렇다면 이러한 속성들은 서버쪽에서 사용자를 위한 배려차원에서 지원하는건가요? 솔직히 서버측에서는 사용자가 다른곳에 가서 XSS공격을 받던 말던 상관 없을수 있을거같은데. 저런 속성을 지정하는건 브라우저가 자동으로 해주는지, 아니면 서버가 수동으로 작성해줘야하는지, 그러면 그것이 배려차원에서 작성해주는것인지 궁금합니다. 질문이 많아 죄송합니다. HTTP 강의 전체적으로 얘기해주시는 것들은 다 브라우저들이 자동으로 알아서 해주는 기능들인거죠? (강의 중간중간에 F12로 보여주신거보니 그런거같습니다. 아니면 예시로 나온 구글이 HTTP 속성들을 지정해놓은건가요?)실무에서 개발하면 HTTP Body에 데이터를 실어줄 로직을 짜기 급급하지. HTTP 속성을 컨트롤러단에서 set메소드를 이용해서 진짜 설정을 하나하나 해주는지 궁금해서요. 감사합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 비연결성 의 장점
[질문 내용]안녕하세요, HTTP 특징인 비연결성(connectionless)의 장점이 궁금하여 질문드립니다.영한님 강의를 보면, 연결을 유지하는 모델에서 서버는 자원을 소모하기 때문에, connectionless 모델에서는 자원을 소모하지 않는 장점이 있는 것으로 이해했습니다.연결을 유지하는 모델에서 어떤 자원이 소모되는지 알 수 있을까요?강의에서 배웠을 때 TCP의 연결은 가상의 연결이어서, 커넥션을 유지한다고 해서 서버가 물리적 자원을 소모할 것 같지는 않은데요. 혹시 어떤 자원이 소모되는지 알 수 있을까요?영한님 강의 매우 재밌게 잘 보고 있습니다.좋은 강의 만들어 주셔서 감사합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
프록시 캐시 서버에 대해 질문드립니다.
수업 내용중에 궁금한 내용이 있어서 질문드립니다. 클라이언트 - 프록시캐시서버 - 원서버1. 이렇게 되어있다고 할때, 프록시캐시서버를 도입하는 이유가 원서버에서 데이터를 받으려면 오래걸리므로 프록시캐시서버가 먼저 원서버에서 캐시를 받아서 보관해두고, 클라이언트는 해당 데이터를 원서버가 아닌 프록시 서버에서 데이터를 받는다. 이렇게 이해하면 될까요?2. 1번이 맞다면, 프록시 캐시서버에는 원서버에서 받은 데이터가 캐시 형태로 저장되어있는건가요? 아니면 원서버에서 받은 데이터 자체가 저장되어있는건가요?3. 2번 질문에서 원서버에서 받은 데이터가 프록시 캐시서버에 캐시 형태로 저장이 된다고한다면, 이 캐시가 public캐시인가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Cache-Control 질문드립니다.
http 응답 메시지에 Cache-Control 헤더를 적는것이라고 알고있는데요. 클라이언트 - 프록시캐시서버 - 원서버이렇게 되어있다고 할 때, 프록시 캐시 서버를 도입하게되면 클라이언트는 원서버에서 데이터를 받는게 아니라 프록시 캐시서버에서 데이터를 받는건가요?1번의 응답이 맞다면 그럼 프록시캐시서버가 http응답 메시지를 클라이언트에게 내려주는건가요?Cache-Control: public 이나 Cache-Control: private는 프록시캐시서버와 원서버중에 어떤 서버가 내려주는 http응답메시지에 작성이 되어야하는건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
연결을 유지하는 모델 질문입니다
안녕하세요이번 강의 20초쯤에 강사님께서 TCP/IP연결은 기본적으로 연결유지가 된다고 하셨는데 1.이 연결 유지가 된다고 하는게 3 Way Handshake를 계속 유지하고 있다는 뜻인가요? 2.HTTP는 기본이 연결을 유지하지 않는 모델이라고 <비연결성> ppt에 써져있는데 다음 페이지인 <비연결성 한계와 극복>에서 지금은 HTTP 지속 연결이라고 써있습니다. 이건 말그대로 이제 HTTP가 서버 자원 소모에도 불구하고 연결을 유지하는 모델로 바뀌었다는 뜻인가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
ETag에 대해 질문드립니다.
[질문 내용]7분 50초 강의 내용을 보면, 캐시 제어 로직을 서버에서 완전히 관리한다고 하셨는데 이 말이 무슨 의미인지 헷갈려서 질문드립니다. Etag값을 지정할때, 서버에서 임의로 고유한 이름 같은것으로 지정하기때문에 그런건가요? 근데 그렇다고 하기엔 Last-Modified값으로 날짜를 적을때 서버에서 날짜를 지정하기때문에 캐시 제어로직을 서버에서 관리하는거 아닌가요 ? 캐시 제어 로직을 서버에서 관리한다는 말의 자세한 설명 부탁드립니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Host 헤더를 쓰는이유
Host 헤더를 쓰는 이유에 대해서 강의와 더불어 구글링을 해서 정리해 보았는데요.예를들어 www.a.com ->211.111.111.111www.b.com ->211.111.111.111이렇게 다른 두개의 도메인을 하나의 IP에 할당했을때 클라이언트가 도메인을 뭐타고 왔을지 체크용으로 host헤더를 쓰는것이다.하나의 IP주소에 여러도메인이 적용되어있어서 하나의 서버(ex. 네이버 서버)가 여러도메인(cafe.naver.com , blog.naver.com)을 처리해야할때 호스트 정보를 입력줌으로써 어떤 도메인에 대하여 요청하는것인지 서버에게 알려주기위해 Host헤더를 적는다. 그래서 Host 헤더에 도메인을 써서 같은 서버지만 어떤 도메인으로 접속한지에 따라 각각의 페이지를 띄워줄수도있다.이렇게 2가지로 예시를 바탕으로 정리해보았는데요. 둘다 맞을까요? 아니면 어느게 맞을까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST 방식으로 API 설계 하는 방법에 대해 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요!POST 방식으로 API 설계 하는 방법에 대해 질문이 있습니다. [질문1.] 회원 한명을 등록할 때 POST /members 를 사용하면 회원 여러명을 등록하고 싶을때는 POST /members를 이미 사용했기 때문에, POST /members/save-list 처럼 컨트롤러 URI를 사용해야 하나요?혹시 더 좋은 다른 방법이 있는지 궁금합니다!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
PRG 패턴에서 리다이렉트 하는 이유?
이유가 무엇인가요 ?post 후에 redirect가 아니라 서버에서 응답으로 201 상태코드와 함께 get 메소드로를 이용해서 PG패턴으로 만들 수는 없는건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
301 상태코드 질문드립니다.
강의 6분5초의 강의자료에 대해 구글링 및 강의를 들으며 정리해 봤는데,이 예제는 이벤트신청폼(GET/ event)과 이벤트신청(POST/ event)의 URI를 동일하게하고 이벤트신청폼을 Get/ event 를 통해 들어와있는 상태에서 URI가 변경되었고 이 때 POST/ event 를 한다는 가정하에 보는것이다.POST /event 를 하게되면 /event 가 /new-event 로 변경 되었기때문에 301상태코드를 보내고, 변경된 URI에 대해 리다이렉트 되어 GET/ new-event 를해서 이벤트신청폼을 조회하고, 다시 POST/ new-event 해서 이벤트를 신청해야한다.이렇게 이해해도될까요 ?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
302 일시적인 리다이렉션 질문드립니다
클라이언트가 POST 방식으로 /order URI에 값과 함께 요청을 보내고, 302 Found로 응답받아 /order-result/19에 자동 리다이렉트 되었다면, /order-result/19 URI를 나가기 전까지 리다이렉션이 유지되나요? 리다이렉션이 된 후 새로고침할 때만 리다이렉션이 적용되고, /order-result/19 페이지를 나가서 다시 /order 페이지를 들어오면 주문창이 새로 뜨고 리다이렉션은 없어지는 걸로 이해를 했습니다. 제가 이해한 것이 맞는지 확인하고 싶어 질문을 남깁니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP/IP, Http 관련해서 질문입니다.
TCP/IP -> 한번 요청 하면 3-way-handshake로 연결하고 타임아웃 전까지 연결 끊지 않는다.Http1.0 -> 비 연결성을 지키기 위해 요청 올 때마다 3-way-hanshake 해서 연결하고 응답하고 바로 끊는다.Http1.1 -> 요청올 때 연결하고 응답 한 후에도 잠깐동안은 유지하다가 연결 끊는다. (지속 연결)이게 맞나요 ? IP -> TCP/UDP -> HTTP 이렇게 발전해온건가요 ?IP의 비 신뢰성, 비연결성을 해결하기 위해 3-way-handshake , 프로그램을 구분하기 위해 Port라는 개념을 추가한게 TCP/UDP 인거고TCP/UDP 에서 클라이언트-서버 구조, 무상태, 지속 연결을 추가한 것이 HTTP 인건가요 ?