30%
30,800원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
웹서버가 구현?
안녕하세요 좋은 강의 항상 감사합니다.강의에서 405 에러를 내보내면 Allow 헤더 필드 값에 가능한 메서들 값을 내보내준다고 웹서버에서 구현되어 있다 => 이 말이 궁금합니다.다음과 같은 api(/members -GET, DELETE) 를 자바/스프링부트 로 구현해놨습니다. 그런데 프런트에서 /members - POST로 요청을 하게 되었을 때의 경우가 궁금합니다.웹서버에서 자동으로 405 에러와 함께 Allow 헤더 값에 GET, DELETE 값들을 내보내준다는 것인가요?위의 경우에서 말하는 웹서버는 내장형 톰캣을 말하고, 이렇게 구현되어 있는 다른 내장형 웹서버들도 많나요? 친절한 답변 미리 감사드립니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
필수헤더?
안녕하세요. 좋은 강의 잘 듣고 있습니다.필수헤더에서의 '필수'라는 의미가 무엇인가요?궁금한 점은 아래입니다.자주 사용하는 웹 브라우저 소프트웨어(크롬, 엣지 등) 이 요청할 때 알아서(api통신일 경우 프런트 개발자들이 명시하지 않아도) '무조건' 넣는다는 말인가요?필수가 아니라면 어떻게 되나요? 강의를 보면서 구글에서 f12로 api들을 살펴보니, request 부분의 헤더에 HOST가 없는 것들도 있떠라구요. 친절한 답변 항상 감사드립니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
Host와 Port
안녕하세요 좋은 강의 항상 잘 듣고 있습니다.아래 질문들을 봤는데도 이해가 되지 않아 질문을 올립니다. 2:21 그림에서 aaa.com, bbb.com, ccc.com 은 모두 다 하나의 ip(200.200.200.2)에 연결이 된 거잖아요? 궁금한 점들은 아래입니다.그런데 aaa.com, bbb.com, ccc.com 들은 하나의 host 개념인 것이지, port로 구분하는 프로세스의 개념이 아닌거죠? aaa.com(200.200.200.2:15포트), bbb.com(200.200.200.2:16포트), ccc.com(200.200.200.2:17포트) 처럼 다른거죠? 가상호스트라는 개념을 쓰면 여러 호스트들을 하나의 ip에 연결을 할 수 있고, 각각의 host들은 서로 중복되는 포트를 사용할 수 있는 것인가요? 아래처럼요.aaa.com(200.200.200.2:15포트), bbb.com(200.200.200.2:15포트) ccc.com(200.200.200.2:15포트)
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
다른 도메인이 같은 포트를 사용하는 경우
다른 분들의 질문답변을 보다 헷갈려서 질문드립니다.어떤분 질문답변에서host: www.delivery.com IP와 포트 : 200.200.200.2:3000host:www.hungry.com IP와 포트 : 200.200.200.2:3000이와 같은 상황에서는 포트번호가 같아 작동하지 않는다. 포트번호는 응용 계층(즉, OS)에서 관리하는 가상의 개념인지라 같은 포트번호를 두개의 어플리케이션에서 공유할 순 없다. 라고 되어있는데 다른분 질문에서는aaa.com 의 포트번호 100번에 배달의 민족 주문 서비스(하나의 .jar파일 실행이라고 가정)bbb.com 의 포트번호 100번에 카카오 선물하기 서비스(IP는 200.200.200.2 로 동일하다)이런식으로 따로 연결이 되고 이 포트번호 100에는 또다른 프로그램(서비스)을 연결할 수 있다고 되어있습니다. 다른 도메인이 같은 포트를 사용할 수 있는 건지 궁금합니다. 답변주시면 정말 감사하겠습니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
표준 헤더와 임의 헤더
안녕하세요 좋은 강의 잘 듣고 있습니다. 표준 헤더라는 것은 브라우저가 자동으로 넣어주는 것인가요? 예를 들어 백앤드에서 만든 api의 response의 헤더에는 사실 java/spring 기준으로. 'return new ResponseEntity(response, HttpStatus.OK)' 만 내보내줌에도 불구하고, 개발에 배포한 후 브라우저에서 f12로 개발자 도구로 확인하면 제가 넣지 않은 여러 헤더들(Origin, Host 등 다양한 값) 이 들어있더라구요. 표준헤더의 기준(몇 가지는 꼭 브라우저가 넣어준다 등) 은 어떻게 정하는 걸까요? 브라우저마다 다른가요? 미리 감사드립니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST 등록 후 Location 헤더
안녕하세요좋은 강의 항상 잘 듣고 있습니다. 다름이 아니라, post에서 등록한 후 201, CREATE(또는 200, OK) response 에서 Location헤더 필더에 해당 리소스의 생성된 위치를 보여준다고 했는데요(ex /members/100) 꼭 실무적으로 그렇지 않고 개념, 이론적으로 그렇다는 것 맞을까요? 개발자가 직접 해당 소스의 위치 값을 response Header 의 Location 필드값에 넣어주는 것이요. 반드시 post api에서 자동적으로 내려주는 것은 아니라서 여쭤봅니다. 감사합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
프로세스의 상태가 변경되는 경우에 Post 사용
안녕하세요 좋은 영상 항상 잘 보고 있습니다.궁금한 점이 있습니다.프로세스의 상태가 변경되는 경우 등에 post를 사용한다고 했습니다.주문에서 결제완료 -> 배달시작 -> 배달완료 등그런데 이런 과정에서 만약 requestBody에 내용이 필요없는 경우에(프로세스의 상태를 변경하는 경우에 그럴 경우 낮지만)도 만약 의미적으로 프로세스의 상태가 변경되는 경우라면 post를 사용하는 것이 맞을까요? 현업에서, 호출하는 동기화 api 를 batch로 작업한 적이 있었는데요. 주기적으로 엑셀을 읽어서 내용들을 DB에 동기화하는 작업이었습니다. 그런데 해당하는 Api를 호출할 때는 requestBody가 필요한 것이 아니었으므로 post로 만들었었는데요, 강의를 다시 들으면서 궁금해서 여쭤봅니다. requestBody 의 유무 등이 중요한 것이 아니라 의미적으로 다가가는 것이 더 맞겠죠?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
지속연결에 대해서.
항상 좋은 강의 감사합니다. 예전에 들었던 강의인데 다시 복습 겸 듣고 있습니다.그런데 다른 분들이 질문한 것들을 보니 공통된 것들이 있고, 저 역시 궁금한 점이 있어서 말씀드립니다."HTTP 지속연결" -> 지속 연결이라고 하는 것이 정확히 무엇인가요? 영상 5:30초에서 비교한 (0.9초 -> 0.5초) 에서의 각각에 해당하는 결과, 종료는 각각 무슨 연결과 종료를 뜻하는 것인가요? tcp/ip의 3way handshake 인가요? 아니면 http 인가요?결과론적으로 비 연결성이 한계(매번 3 way handshake 자원상) 가 있으니 연결성을 지향해야 한다는 것인가요? 그런데 연결성이 애초에 자원상 한계가 있으니 현재 http/1.1에서는 지속연결을 사용중인 건가요? http/2, 3에서는 더 많은 최적화를 하고 있다고 하셨지만.. 미리 감사드립니다^^
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
제가 아는 쿼리 파라미터 개념이 맞는지 확인 부탁드립니다.
저는 쿼리파라미터 형식이 (key = value)라고 알고있습니다.여기까지 쿼리파라미터라는걸 라고 있습니다.JSON으로 보내는 데이터도 쿼리 파라미터 인가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시 내용중 no cache 일때
cache-control:no cache 일때는 일단 원 서버에 검증하고 사용한다고 설명해주셨는데, 그러면 응답코드가 304 (변화 없음) 일때는 캐시에 저장되어있는 데이터를 사용하고, 응답코드가 200 (변화 있음) 일때는 서버에서 받은 데이터를 캐시에 다시 저장하고, 서버로 부터 받은 데이터를 사용하는 건가요?
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
DNS 서버 관련 질문
인터넷 네트워크 - DNS 수강 신청중입니다. DNS 서버와의 통신 과정에서 궁금한게 있습니다.클라이언트가 DNS 서버로부터 대응되는 IP 주소를 받아 저장을 하고 나서부터는 TTL 만료 전까지는 DNS 서버에 요청하지 않는걸로 알고 있습니다. 그런데 TTL 만료 전에 해당 도메인의 IP 주소가 변경되면 클라이언트 캐시에 있던 IP 주소는 오래된 주소가 되는거니까 연결 오류가 날것으로 예상됩니다.이에 대해 궁금한 점 2가지 드립니다. 이렇게 오류가 나면 클라이언트는 자동으로 DNS 서버에 재요청해서 IP 주소를 다시 할당받고 도메인 접속 재요청을 하는건가요? 아니면 오류 상태로 진행을 멈추는건가요? 이런 경우를 방지하기 위해 클라이언트나 DNS 서버가 TTL 만료가 안됐어도 갱신받거나 갱신해주는 방법은 없나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
캐시로 저장된 파일의 유효기간은 얼마나 되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]캐시로 파일을 다운받고 캐시 데이터가 저장되었는데, 캐시 유효시간도 지나고 동일한 요청을 몇년만에 다시했을 때 last-modifed 정보가 바뀌지 않았다면 어떻게 되나요?
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
웹브라우저 요청흐름 질문입니다.
여기서 1,2번을 정리한건데 맞는 지 확인 해주세요1. URL을 입력한다. (클라이언트의 요청)2. DNS 서버로 IP를 찾아내고 생략된 PORT는 scheme로 찾아낸다.⇒ DNS에서 IP주소를 획득하는 과정은 3way handshake가 발생하지 않는다.3.웹 브라우저가 HTTP 요청 메시지를 생성4.애플리케이션에서 SOCKET 라이브러리를 사용해서 지시⇒ "커넥션을 TCP/IP로 맺으세요.! " 라고 지시⇒TCP/IP계층에서 이전에 찾은 IP와 PORT 정보를 통해 3 way handshake 방식으로 서버와 연결 먼저 1)이과정이 맞게 생각하고 있는 건지 궁금하고2)두번째는다른분의 질문답변에서3 hand shake를 하면 클라이언트와 서버 모두 서로 IP, PORT를 알게 된다 라고 되있던데 이말은3 hand shake를 하기위해서는 클라이언트는 서버의 IP, PORT를 알고 있어야하고 3 hand shake 이후에 서버도 클라이언트의 IP, PORT를알게된다는 의미인가요?그러면 이 수업에서는 DNS 서버로 IP를 찾고 URL(클라이언트의 요청)의 scheme에서 생략된 port를 찾았다 고 배웠는데 그럼 이 과정은 필수 과정인가요??(3 hand shake를 사용하기위한 필수과정 인가요?클라이언트와 서버가 연결하기위한 필수과정인가요?) 답변 주시면 정말 감사하겠습니다.
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
캐시 무효화 질문드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]https://www.inflearn.com/questions/112647위 답변을 참고하였으나 이해하지 못해서 질문드립니다.Cache-Control: no-store, no-cache, must-revalidateno-cache, must-revalidate는 캐시를 검증할 때 사용되는데, 왜 캐시를 검증하는 값을 추가해야 하나요?no-store를 무시하고 캐시로 저장될 수 있다면 캐시를 사용할 때마다 원 서버에서 검증받고 정확한 리소스를 받아오는 것뿐, 결과적으로 완벽한 캐시 무효화가 아니지 않나요?캐시 사용을 전제로 하는 no-cache, must-revalidate 값이 필요한 이유를 모르겠습니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
리다이렉트와 리다이렉션 차이?
300대 상태코드 공부중에리다이렉션 흐름은 이해가 가는데 명칭이 지칭하는게 어떤건지는 정확히 모르겠어서요.300대 상태코드를 '리다이렉션' 이라고 하고, 서버에서 웹 클라이언트로 바뀐 url을 내려주는걸 '리다이렉트' 라고 하는걸까요?아니면 기존 url -> 새로운 url로 변경되는 작업이 리다이렉트 일까요??정확하게 리다이렉트와 리다이렉션이 지칭하는게 무엇인지 궁금합니다.
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
쿠키 및 세션 관련 질문드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]영속 쿠키처럼 만료 날짜가 다 돼서 쿠키가 삭제되면 로그아웃이 이루어져야 할 텐데 어떻게 로그아웃을 요청하고, 서버에서 세션이 삭제되나요?만료 날짜가 지난 후에 접근하면 다시 로그인 화면이 뜨는 건가요? 일정 시간 동안 아무런 요청이 없으면 세션이 만료되었다고 뜨면서 자동 로그아웃 되는 웹 사이트는 어떻게 동작하는 것인지 궁금합니다.예) 화면에 '로그인 남은 시간 : 00:30'과 같이 출력되고 요청(서비스 이용)하면 다시 30:00으로 계속 초기화 되는 웹 사이트 브라우저 설정에서 인위적으로 해당 도메인에 관련된 쿠키를 삭제하면 세션id가 포함된 쿠키도 삭제돼서 결과적으로 로그인이 필요한 url에 접근하면 새로운 로그인 창이 뜨고, 홈 화면으로 새로고침하면 로그인이 끊어진 처음 화면이 나오는데 그럼 어떻게 로그아웃이 처리되고 서버는 브라우저에서 삭제된 쿠키의 세션id와 일치하는 관련된 세션 정보를 삭제하나요?(단순히 정상적으로 로그아웃 하는 경우와 달라서 궁금합니다)
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 메서드 ( HTTP 메서드의 속성 파트 ) 강의의 멱등 내용에 대하여 질문드립니다.
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]멱등을 설명해주실 때 여러 번 호출하든 한번 호출하든 결과가 같으면 된다고 하시면서 PUT의 경우 전부 대체가 되어 멱등이다라고 설명해주셨습니다. 그런데 PATCH의 경우 리소스의 부분을 변경하는 것이라고 알고 있는데 PUT은 멱등이고 PATCH는 멱등이 아닌 이유를 이해하지 못해서 이렇게 질문 남겼습니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
header 나 gzip으로 데이터 보낼떄 데이터는 base64로 인코딩되서 가는 건가요?
[질문 내용]header 나 gzip으로 데이터 보낼떄 데이터는 base64로 인코딩되서 가는 건가요?강의중 사용된 샘플이 base64 같아서요.별을 보내는거
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
어떻게 다수의 서버가 응답하는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 강사님께서 google에 hello로 검색했는데 다수의 서버가 응답하는 것을 볼 수 있었습니다. 요청은 한 개의 호스트(google)에 한 개의 포트(443)로 요청했는데 어떻게 응답은 여러개의 서버에서 올 수 있는건가요??좋은 강의 정말 잘 듣고 있습니다! 감사합니다
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
조회, 수정, 삭제를 실무에서 어떤식으로 구현하는지 궁금합니다!
안녕하세요! http 강의를 수강하고 회원 본인이 회원 정보를 조회, 수정, 삭제할 수 있도록 구현 중인데 궁금증이 생겨서 질문 드리게 되었습니다.스프링 입문 강의의 메모리 기반 레포지토리를 따라했는데 멤버의 경우 Long 타입을 가진 id가 존재하고 이는 레포지토리에 저장될 때 1씩 증가하여 저장하도록 되어있습니다.인증의 경우 jwt를 사용하고 있구요.그리고 회원 정보 조회, 수정, 삭제를 구현할 때 이러한 id 값을 url에 넣어주고 메소드(GET, PATCH, DELETE)만 바꾸어가며 구현을 하는 것으로 알고 있습니다.그런데 이러한 id 값을 어떤 식으로 가져와야 할지 감이 잘 잡히지 않네요.제가 생각하는 방식이 두 가지가 있습니다.로그인에 성공했을 때 id 값을 같이 보내주어 이를 클라이언트가 보관해두었다가 조회, 수정, 삭제할 때 이 값을 url에 같이 넣어준다.ex) /member/{id}jwt에 id 값을 담아서 반환해주고 클라이언트는 이 jwt를 갖고 있다가 조회, 수정, 삭제 요청 url에 id 정보를 넣지 않고 jwt를 헤더에 담아서 보내준다.ex)/member id 값을 url에 넣지 않고 서버에서는 jwt 안에 있는 id 값을 사용제 임의대로 생각한 방식이라 이 방식이 맞는지는 잘 모르겠습니다... ㅠㅠ실무에서는 이러한 id 값을 어떤 식으로 주고 받는 걸까요?알려주시면 감사하겠습니다! ㅠㅠ