44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
영구 리다이렉션과 일시적 리다이렉션에 관한 질문입니다.
영구 리다이렉션의 경우 검색 엔진 등에서 기존 URL을 버리고 새로운 URL을 사용한다고 했고 일시적 리다이렉션은 리소스의 URL이 일시적으로 변경되고 검색 엔진 등에서는 URL을 변경하지 않는다고 하셨는데 리소스 URL을 변경한다, 유지한다의 개념이 헷갈려서 몇가지 질문드립니다. 1.여기서 말씀하신 리소스 URL이라는게 {host}/{resource}?{query_param} 에서 resource만을 의미하는 건가요?가령 http://google.com/event/4?q=hello 의 경우에 event/4 까지의 변경을 의미하는 것인가요?영구 리다이렉션과 일시적 리다이렉션의 차이는 resource name이 바뀌냐 안바뀌냐의 차이인건가요? 가령 /event로 post를 보냈을 때 /new-event로 post, get을 보내는 것이 영구적 리다이렉션, /event로 post를 보냈을 때 /event까지는 유지하고 /event/{id}로 post, get을 보내는 것이 일시적 리다이렉션 인가요?만약 2번이 맞다면 리소스의 URL이 일시적으로 변경된다는게 /event -> /event/{id}로 변경되는게 일시적 변경인거고 검색 엔진 등에서 URL을 변경하지 않는 것이 /event가 변경되지 않았다는 의미인건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
put과 post에 대한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. put은 리소스를 완전 대체하기 때문에 데이터의 부분적인 필드만 보낼 시에 부분적인 필드만 대체되거나 새롭게 추가된다고 하셨는데, post로 put을 대체하여 사용할 경우도 마찬가지의 동작이 되나요? 가령 전체 데이터필드는 "username", "age"가 있는데 post로 "age" 필드만 바디로 보낼 경우, put과 같이 "username"없이 "age"만 대체, 추가가 되는 건지요?아니면 애초에 put은 리소스에 식별자를 추가해야되기 때문에 post로 대체 될 수 없는건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
pk값 중복이나 비지니스 로직일때 500에러 ..?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예 [질문 내용]500에러는.. 서버의 크리티컬 에러 ? 널포인트 익셉션 같은 에러를 내린다면 .. 비즈니스 로직의 에러 or db pk 값 중복 같은 값도 500으로 내리는게 맞을까요 .. ? 비지니스 로직을 예로들면 주문할때 적용하는 쿠폰 계산값이 프론트와 백엔드서버가 안맞아서 내리는 에러같은 경우 500으로 내리면 될거같은데 pk값 중복같은것도 동일하게 내리는지 400으로 내리는지 실무가 궁금해서 문의드립니다 ..!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
멱등에 관한 질문 (PUT, PATCH)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. PUT 메서드가 멱등이라는 부분은 첫 번째 PUT 요청에 보냈던 데이터를 두 번째 PUT에서도 보낸다고 가정했을 때 최종적으로 데이터가 변하지 않기 때문에 멱등이라고 하는 것 인가요? 1번의 같은 데이터를 PUT 한다는 가정이 맞다면 PATCH도 같은 부분을 PATCH 한다는 것인데, 그렇다면 PATCH도 멱등으로 볼 수 있지 않나요? 1번의 가정이 틀린건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Accpet와 Content-type이 다를 때 문제가 발생할 수 있을까요?
요청 헤더에서 Accept를 전달하고, 응답 헤더에서 Content-type을 전달하는걸로 이해했습니다.그런데 두곳의 미디어 타입이 일치하지 않을 경우 문제가 발생할 수 있을까요?예를 들어, css 파일을 요청할 때 Accept를 "text/css"로 보냈는데, 서버나 인프라 상의 이슈로 응답의 Content-type이 "text/html"로 온다면브라우저는 이를 css 파일로 인식하지 못해서 네트워크 요청 자체는 성공해도 스타일이 적용이 안되는 문제가 생길 수 있을지 궁금합니다.
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
IP 클라이언트, 서버의 경로 구간 길이 관련 질의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]IP(Internet Protocol)부분에서 문의드립니다.클라이언트는 서버를 찾아가는 과정이 오래 걸리는데,서버는 클라언트를 최단 경로로 찾아가게 되나요?위 그림 상으로는 그렇게 이해되어서 문의드립니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HttpMessage 는 어디서 생성되나요?
HttpMessage의 헤더부분이나 바디부분의 내용이 어디서 생성되는 지 궁급합니다. 아무리 구글링을 해봐도 답이 나오지 않네요.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
동영상 스트리밍시 간헐적으로 윈도우 사라짐발생됩니다.
동영상제작시 문제가 있는것인지 모르겠으나 간헐적으로 동영상 플레이시 윈도우가 없어집니다. 다른 동영상도 해보았는데 문제는 없구요. 동영상 스트리밍 문제같은데 개선 부탁드립니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시 무효화 응답?? 요청??
안녕하세요!헷갈리는 부분이 있어서 질문 올립니다.no-cashe, no-store, must-revalidate가 사용되는게"서버에서 HTTP 응답 코드를 만들때","웹 브라우저에서 HTTP 요청 코드를 만들때"둘 중에서 저는 후자로 이해했는데 강사님께서는 전자로 말씀하셔서 궁금합니다 :)
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
메서드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. HTTP 메서드를 어떤걸 보내든 결국에 서버단에서 결과를 덮어씌울지 , 삭제할지 , 생성할지 조회할지 결정하는것이 아닌가요? 예를들면 클라이언트 입장에선 PUT으로 바디에 특정데이터를 보내서 수정되길 원했는데 서버단에서는 해당 요청을 받고 바디는 싹 다 무시한체 리소스 위치를 이용해 DELETE쿼리로 삭제할 수있고 SELECT쿼리로 해당 리소스를 조회한 결과를 리턴해줄수도 있는데 이러면 결국 HTTP메서드가 무의미해지는게 아닌가하는지 궁금합니다.결국 Http메서드는 api를 호출하는 입장 ( 클라이언트 ) 에서 해당 행위를 기대하는 ( PUT이면 수정 , GET이면 조회 등 )기댓값으로 사용하는 것 인가요? 아니면 특별한 기능이 있는걸까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
PUT , POST , PATCH , DELETE 등..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.HTTP 메서드를 어떤걸 보내든 결국에 서버단에서 결과를 덮어씌울지 , 삭제할지 , 생성할지 조회할지 결정하는것이 아닌가요? 예를들면 클라이언트 입장에선 PUT으로 바디에 특정데이터를 보내서 수정되길 원했는데 서버단에서는 해당 요청을 받고 바디는 싹 다 무시한체 리소스 위치를 이용해 DELETE쿼리로 삭제할 수있고 SELECT쿼리로 해당 리소스를 조회한 결과를 리턴해줄수도 있는데 이러면 결국 HTTP메서드가 무의미해지는게 아닌가하는지 궁금합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
쿠키와 캐시의 차이점이 뭔가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]쿠키와 캐시 둘 다 한번 전송 받은 데이터를 잠시 저장해뒀다가 필요에 따라 재사용하거나 끌어와서 사용하는 것 아닌가요??이 2개의 차이가 무엇인지 잘 모르겠습니다 설명 부탁드립니다
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST 전송 방식에서 서버가 생성된 리소스 식별자를 다시 전송하는 이유
[질문 내용]POST 전송 방식에서 회원 등록의 URI가 /members 인 경우, 서버는 /members/100 과 같이 생성된 회원 정보를 다시 응답 데이터로 전송하는데 이렇게 하는 이유가 뭔가요?클라이언트 측에서 회원 등록 요청을 보낸 후 생성된 리소스 식별자를 이용해서 또 다른 작업을 하는건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
프록시 서버는 자신이 private인지 public 인지 어떻게 아는걸까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]뭔가 서버 구성할 때 설정하고 뭐 그런걸까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
서버에서 캐시 검증헤더 추가하는게 맞나요?
HTTP 헤더2 캐시와 조건부 요청에서 검증 헤더와 관련된 질문입니다.안녕하세요, 제가 이해한 것은 다음과 같습니다. max-age 시간 초과 시, 웹 브라우저는 다시 캐시 요청을 보냅니다. 이 때, if-modified-since라는 캐시 검증 헤더를 함께 보냄으로 서버 측의 응답과 비교합니다. 요청을 보내는 것은 웹 브라우저에서 처리해주므로 개발자가 헤더를 따로 추가해줘야 할 필요는 없을 것 같은데, 서버는 시간 초과에 따른 데이터 재요청에 따라 응답을 구현해줘야 할 것 같다는 생각이 듭니다. 그게 맞나요?ETag 역시 마찬가지인가요? 그런데 이 경우, 브라우저에서 언제 ETag를 보낼지, if-modified-since를 보낼지 서버 개발자 입장에선 알기 어려울 것 같은데, 이럴 땐 어떻게 해당 요청을 처리해야 하나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP API
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]HTTP API 강의에서요 HTTP API가 HTML FORM 데이터 전송방식을 제외한 것을 말하는 건가요?이게정확히 뭘 말하는 건가요??
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
개발자가 HTTP2/3 버젼을 사용하고 싶을 때, 어떻게 쓸 수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 질문이 있습니다! 구글의 경우, 네트워크 통신할 때 HTTP 2, 3 같이 사용하는 걸 봤습니다. 개발자가 HTTP 프로토콜 버젼을 선택할 수 있나요? 선택할 수 있다면 어떻게 그렇게 할 수 있나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Date 정보와 referer
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]referer는 아무리 오타여도 이미 고칠 수 없을 정도로 퍼져, 그대로 사용한다는 것은 이해했습니다.그러나 중간중간 나오는 (ex, Date) 중간에 바뀌었다는 것들은 어떻게 바뀔 수 있었던건가요?referer처럼 널리 퍼져서 바뀌기 힘든 것과, 널리 퍼지지 않은 것의 차이인가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
자료 누락 이슈
섹션 별 나눠져있는 자료중에7.http-header1.pdf위 파일에 쿠키 관련 이후 자료가 없습니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
spring과 http캐시
강의에서 캐시의 조건을 설정할 때no cache, no store, must-revalidate 셋을 모두 설정해야한다고 하셨습니다.그래서 제가 스프링(spring boot말고 그냥 spring입니다)에서 WebContentInterceptor에CacheControl 클래스로 조건을 설정하려고 했습니다.@Bean public MappedInterceptor webContentInterceptor() { String[] includePatterns = {"/board/game/**"}; WebContentInterceptor wci = new WebContentInterceptor(); CacheControl cacheControl = CacheControl.noCache(); wci.addCacheMapping(cacheControl, "/**"); return new MappedInterceptor(includePatterns, wci); } 그런데 CacheControl에서는 no cache와 no store를 동시에 설정을 할 수 없었습니다.https://github.com/spring-projects/spring-framework/issues/18354위 링크에서 글을 보면 no store가 이전 브라우저에서 동작하지 않는 것을 확인하지 못했다고 말을 하고 있는 것 같습니다. 그래서 no cache와 no store 둘을 같이 사용할 일이 없다고 하는 것 같아서요.아니면 제가 직접 response를 건드려서 no cache와 no store를 둘 다 설정해야만 할까요?