30%
30,800원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
URI 호출 관련 질문
안녕하세요, 강의를 듣는 중 URI 호출과 관련하여 궁금한 점이 생겨 질문 드립니다. 본 강의 15분경 부터 설명하시는 HTML FORM 사용 시의 URI 설계 예시에서 [회원 등록 폼]은 "/member/new"의 GET 요청이고, [회원 조회]는 "/member/{id}"의 GET 요청이라 적혀있습니다. [회원 조회] 시에 {id}부분에 어떤 식의 파라미터가 들어갈지는 모르겠으나, 만약에 회원 중 "new"라는 id를 가진 회원이 우연히 있다면 회원 조회 시나 회원 등록 폼을 조회 시에 어떤 요청을 하게 되는지 궁금합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
로그인 로그아웃에서 쿠키, 세션
항상 좋은 수업을 해주시는 영한님과 좋은 답변을 달아주시는 서포터님들에게 감사의 말씀을 전합니다. 쿠키, 세션에 관해 궁금증이 생겨 다른 분들의 질문을 읽어보고 검색도 해봤는데, 제가 이해한게 맞는지와 궁금한 점이 있어서 질문을 남기게 되었습니다!! 로그인 로직에 대해 제가 제대로 이해한게 맞나요?? 1. 로그인 1) (최초 로그인) 브라우저에서 id, password를 담아 서버에 로그인을 요청한다. 2) 서버는 id, password를 검증하여 해당 사용자에 대한 sessionId를 생성하고 서버에 저장하고 Set-Cookie:sessionId(쿠키) 로 로그인 성공 응답을 보낸다. 3) 브라우저는 브라우저의 쿠키 저장소에 sessionId(쿠키)를 저장한다. 4) 이후 매핑된 쿠키가 있는 URL로 서버에 요청을 보낼 때, 브라우저가 자동으로 쿠키 저장소에서 꺼낸 쿠키를 Cookie:sessionId(쿠키)를 함께 보낸다. 5) 서버는 sessionId의 유효성 검사를 통해 클라이언트를 식별하여 로그인 상태를 유지한다. 2. 로그아웃 사용자가 로그아웃을 하면, 브라우저의 쿠키와 서버의 세션이 모두 삭제된다고 알고 있습니다. https://www.inflearn.com/questions/495180 F12 > Application > Cookies를 살펴보니 위 글의 답변처럼 브라우저는 각 사이트에서 생성한 쿠키를 URL과 매핑하여 관리하고 있다는 것을 알게되었습니다. (실제로 google 로그인을 하면 Cookie에 SSID가 생성되었다가 로그아웃하면 자동으로 사라지는 것을 확인할 수 있었습니다.) 1) 사용자1 구글 로그인->로그아웃->사용자2 구글 로그인 을 했다고 가정합니다. 어떠한 URL(google.com)에 매핑된 쿠키 정보에 다른 유저의 SSID가 동시에 존재할 수 는 없는게 맞나요?? "위 상황에서는 같은 URL로 로그인 요청이 두번 일어났지만 사용자1은 로그아웃을 하면서 쿠키 저장소에 사용자 1의 SSID는 삭제되고 사용자 2의 SSID가 새로 저장되었기 때문에 현재 브라우저의 쿠키 저장소에 google.com과 매핑된 쿠키는 사용자2의 ssid이다" 이 해석이 맞나요?? 2) 그렇다면, 사용자가 로그아웃 요청을 서버에 보내게 되면 서버단에서 세션을 삭제하는 코드를 작성하고 프론트단에서 브라우저의 쿠키를 삭제하는 코드를 작성하는 건가요???
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시 제어 헤더 no-cache, must-revalidate
캐시 제어 헤더 no-cache, must-revalidate 를 사용해야 할 때 원 서버에 대한 접근이 있는데, 프록시 서버가 필수로 존재를 해야할까요? 프록시 서버가 없어도 된다면 no-cahce 에서의 원 서버 접근이 불가할때 프록시의 데이터를 줘서 200ok 를 내리는데, 프록시 서버가 없을때 해당 처리는 504로 되는것일까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
애플리케이션을 포트 번호로 구분
안녕하세요? 음악도 들으면서 게임도 하는 경우를 예시로 들으시면서 하나의 IP에 있는 애플리케이션들을 포트 번호로 구분한다고 하셨는데요 제가 스프링부트로 서버 애플리케이션을 개발해서 구동할 때는 8080 포트로 지정할 수도 있고 8081 포트로 지정할 수도 있고리액트로 웹 사이트를 개발할 때도 3000번 포트로 지정할 수도 있고 4000번 포트로 지정할 수 있는데요 그냥 자바나 파이썬이나 C++로 프로그램을 짜도 이런 프로그램에도 포트번호가 있나요? (그리고 통신 기능이 없는 프로그램에도 포트 번호가 있나요?) 만약 있다면 다른 애플리케이션이 해당 애플리케이션의 포트 번호를 모르는데 어떻게 통신을 하나요? (포트번호를 명시적으로 지정한 적이 없는데 있다면)
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
API URL 설계
안녕하세요. API URI 설계에 대해서 궁금한점이 있습니다. 멤버 도메인과 주문 도메인이 있을 때 (JPA강의 예) 만약 해당 멤버의 주문을 검색하고자 하여 요청을 할 때 API URI는 어떻게 해야할까요? 1번. GET /members/{id}/orders 2번. GET /orders 이 둘중에서 어떤 URI로 설계해야 할지 궁금합니다. 인터넷 서칭 결과 관련있는 리소스는 1번처럼 사용한다고 나오는데 jwt를 사용할 경우 2번이 더 적합한게 아닌가라는 생각이 듭니다. 어떤 기준을 적용하여 1번과 2번 중 어떤 API URI 설계를 사용해야할 까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
s-message
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]1. s-maxage가 만료된 경우 브라우저에서 첫 요청시 원서버까지 요청이 가는 것인가요 ? 2. 1번에서 첫요청이 브라우저에서있어야만 프록시 캐시 서버의 s-maxage가 설정될 수 있나요 ? (아님 프록시 서버 스스로 원서버에 요청이 되어야하는건지 헷갈려서요..) 3. s-maxage가 유효하다면 웹 브라우저는 무조건 프록시 캐시 서버까지만 요청하는 건가요 ? 4. s-maxage가 유효하지만 no-cache인 경우는 항상 원서버에 가야하는 것인가요 ?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
last-modified가 없는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 요청 url (참고) https://www.gstatic.com/ui/v1/menu/device_default_thumbnail2.png 질문1 304코드를 보기 위해 구글에서 요청을 해보았습니다. 근데 사진처럼 요청에는 if-modified-since가 있지만 응답에는 cache-control과 expire만 있고 강의에 나온것처럼 last-modified가 없습니다. last-modified가 없는게 정상이고, 대신 cache-control과 expire에서 브라우저가 값을 가져오는 건가요 ?? 질문2 사진에 요청에서 cache-control 의 max-age=0인데, 응답은 0이 아닌 다른 값입니다! 왜 이 두 값이 다른건가요 ?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
멱등, 고려하지 않는다는 것의 의미가 헷갈립니다.
사용자1이 GET요청을 하고 사용자 2에 의해 리소스가 변경되면 다시 사용자 1이 GET요청을 했을때 결과가 다르니까 멱등이 아닌걸로 이해하면 될까요? 아니면 중간에 POST가 없었다면 GET요청 후 재요청했을때 값이 같을거니까 멱등하다라고 이해하면 되나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
html을 반환하는 경우 분할전송이 되는게 맞나요?
@GetMapping("/simple")public String simpleTransfer() { return "transfer/simple";} html을 반환하면 브라우저에서 자동으로 분할해서 넘기는건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
로컬캐시 최신화
안녕하세요! 304 기타 리다이렉션을 사용하면 로컬캐시를 사용한다고 하셨는데 그렇다면 로컬캐시에는 최신화 된 정보를 새로 불러올 수 없고 캐시에 있는 것만 사용이 가능하니 변경되지 않는 고정의 값만 캐시에 담을 수 있는 걸로 이해해도 될까요? 감사합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의에서 Non으로 설명하신 이유가 따로 있을까요 ?
김영한님께서도 항상 Non으로 이해하면 헷갈린다고 말씀하셨듯이.. Non으로 굳이 설명 하신 이유가 있을까요 ? If-match , If-Modified-Since 를 사용하는게 좀 더 직관적이고 이해하기 쉬운 것 아닌가요 ?? 추가로 쿠키와 캐시의 차이가 무엇인지도 궁금합니다
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTML form으로는 데이터 수정 못하는건가요 ?>
GET과 POST밖에 못 쓴다고 알려주시는데 PUT이나 DELETE를 못쓰면 기존의 데이터를 수정할 수 없는 것 아닌가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
질문이 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 프록시 캐시는 cdn 을 의미하는 것인가요? 프록시 캐시는 어떻게 생성이 되는 건가요? 원서버에서 관리를 하는 것인지 아니면 public 으로 배포가 된다면 자동으로 생성이 되는 것인지 궁금합니다. 프록시 캐시 삭제 역시 누구의 권한인지도 궁금합니다ㅣ
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
압축 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] gzip 을 이용해서 클라이언트에게 전송을 한다면 클라이언트는 다시 압축을 풀어야 해서 소모 데이터가 같지만, 서버 측에서는 효율적으로 할 수 있는 건가요? 서버의 데이터 효율을 위해서 압축을 하는 건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Spring에서 Get 전송시 body추가
안녕하세요 . 강의를 들으며 Get에 Body를 기어코 한번 담아보고 싶어서 Spring에서 테스트를 하려고 하는데, Spring의 restTemplate에서는 Body 담는게 차단되어있는건지 궁금합니다.. 감사합니다!질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
300번대 관련 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]클라이언트가 임의로 응답 상태 코드를 바꿀 수는 없나요? 예를 들어 악성 코드를 이용해서 웹사이트 자동 변경을 하게 한다면, 이를 200번대의 응답코드로 임의로 수정해서 리다이랙트를 피할 수는 없나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
10:18초 SYN, SYN+ACK, ACK 색깔 의미가 있나요 ?
3-way handshake를 해서 보장된다고 설명할 때 1.SYN 주황색 2. SYN + ACK 초록색 3. ACK 주황색 이렇게 색칠을 해 주셨는데요 3:51보면 IP패킷은 주황색, TCP세그먼트는 초록색 이렇게 되어 있는데 이것과 관련이 있다는 것을 표현한건가요 ? 맞다면 추가 설명 부탁드립니다. 처음은 IP패킷만 가고 2번째는 TCP세그먼트만가고 마지막 ACK에서ㅏ 다시 IP패킷만 이용한다는건가요??.. 무슨 말인지를 모르겠어서요
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
PUT, PATCH 질문
안녕하세요! 강의 내용 중 궁금한 점이 있어 질문드립니다!PUT을 사용해서 리소스를 수정 할 때 일부의 필드만 넘겨주는 경우 넘기지 않은 해당 필드는 삭제된다고 하셨는데 사라진다는게 필드 자체가 없어진다는게 아니라 null같이 타입의 기본값으로 나오는게 맞나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
tcp가 connection을 생성하는 이유가 뭔가요?
tcp가 ip 프로토콜에서는 제공하지 않는 오류제어, 흐름제어, 혼잡제어를 제공하는 신뢰성있는 연결지향 프로토콜이라는 것을 알았습니다. tcp가 handshake과정을 통해 연결설정을 하는 것이 결국 오류제어, 흐름제어, 혼잡제어를 제공하기 위한것인가요? 연결설정과정 없이는 신뢰성 있는 서비스를 제공하지 못하는 것인지 궁금합니다. 그리고 왜 tcp는 비용을 감수하면서 연결설정 과정을 거치는 것인지 명확한 설명을 듣고 싶습니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 메서드의 안전성을 따지는 목적이 무엇인가요???
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 안녕하세요! 매번 좋은 강의 감사드립니다. 강의를 듣다가 안전 속성에 대한 의문점이 생겨서 질문 남깁니다. 메소드가 안전한지 아닌지 자체가 무엇을 위해 제시된 속성인지 잘 모르겠습니다. 멱등과 캐시가능한 속성은 그 특성과 필요성을 잘 알겠습니다. 그러나 안전이라는 속성은 조금 이해가 가지않는것이 있는데, 강의에서는 안전하면 좋은것이다 아니다를 따지는 것이 아닌것같아서요! 안전하지 않다고해서 POST 를 안쓸수도 없고.. 개발 과정에서 메소드의 안전성을 고려해야하는 사례가 있나요?? 그냥 리소스를 건드리지않는 GET은 안전, 나머지는 리소스를 건드리기때문에 안전하지 못하다 로 "굳이" 나눈 목적이 궁금합니다. 제가 검색한바로는 안전한 메서드의 목적은 서버에 어떤 영향을 줄 수 있는 안전하지 않은 메서드가 사용될 때 사용자들에게 그 사실을 알려줄 수 있도록 하는 것이라고 하더라구요 이 설명 중에서도 "사용자들에게 그 사실을 알려줄 수 있도록 한다"는 것도 어떤 알림을 주는지 잘 와닿지가 않아서 아예 여기다가 질문을 남기게 되었습니다. 늘 좋은 강의 감사합니다!