30%
30,800원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
패킷을 만들 때 사용되는 IP, PORT 정보가 궁금합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]웹 브라우저 요청 흐름에 대해 제가 이해한 순서입니다.요청이 들어오면 DNS에서 조회해 IP, PORT를 얻는다.IP, PORT를 바탕으로 HTTP 요청 메시지를 생성한다. TCP/IP 패킷을 생성하여 서버로 전달한다.(전송계층에서 PORT 정보 추가, 인터넷계층에서 IP 정보 추가)이 과정에서 TCP/IP 패킷을 생성할 때의 IP 주소와 PORT 번호는 어디서 가져오는지 의문이 들었는데요, 1번 DNS에서 조회해 얻은 IP, PORT를 각각 전송계층, 인터넷계층에서 헤더 값으로 추가해주는 것인가요?
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
컨트롤 uri 질문있습니다
컨트롤 URI라는 것 자체가 하나의 "uri 작명 방법론"(?) 인 거죠?? 가독성을 위해 최대한 명사 중심으로 하되, 정 안된다면 동사를 넣어도 된다는 것이 컨트롤 uri 설계라고 이해했는데 맞는걸까요 ???
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
stateful 과 stateless 에 대해서
stateful의 경우엔 고객 입장에서 점원이 이전 거래내용을 기억할거라고 판단하는게 맞나요?stateless의 경우 고객 입장에서 점원이 거래내용을 기억 못할테니 매번 대화마다 이전 데이터를 자세하게 전부 설명하는거죠?제가 이해한게 맞을까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
API URI
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 이해한 과정이 맞는 지 알려 주셨으면 좋겠습니다..웹 브라우저에서 웹 서버로 https://www.google.com:443/search?q=hello&hl=ko 이런 식으로 요청하면 DNS 서버에서 google.com -> 200.200.200.2(IP 주소)를 알아내고 443(PORT) 라는 정보를 알아 낸다. 웹 브라우저가 HTTP 메시지를 생성한다. ex) GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com) 여기서 궁금한 것이 /search 자체는 리소스인데 이 리소스를 URI(URL)에 매핑 했기 때문에 Resource Path로서 사용할 수 있게 된 것인 가요?소켓 라이브러리를 통해서 전달 한다. * 이 때 알아낸 PORT와 IP주소로 TCP/IP 연결을 할 수 있게 하고 OS 계층에 데이터를 전달 한다.전달 받은 데이터를 포함한 TCP/IP 패킷을 만들어서 웹 서버로 전송 한다.웹 서버는 해당 패킷을 받아서 메시지 바디에 요청한 데이터를 포함하여 메시지 응답 패킷을 클라이언트(웹 브라우저)에게 전송한다 ex) HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Content-Length: 3423 ...웹 브라우저는 응답 메시지를 렌더링 해서 웹 페이지를 띄운다. 제가 이해한 바가 맞나요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
웹 브라우저 <-> 서버
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]복습하다가 궁금증이 생겨 질문 드려요!웹 브라우저와 웹 서버의 역할&정의제가 이해한 것이 맞는 지 틀렸다면 무엇이 틀렸는지 궁금합니다. ↓url을 입력 -> DNS 서버에서 해당 도메인 이름으로 된 IP 주소를 알아오고 scheme를 통해 생략된 포트 주소를 알아 온다 -> 웹 브라우저에서 HTTP 요청 메시지를 생성한다 -> 애플리케이션에서 소켓 라이브러리를 통해 메시지를 전달한다. 이때 알아낸 IP, PORT로 TCP/IP 연결 지시후 TCP/IP 계층으로 데이터 전송 -> TCP/IP 계층에서 HTTP 메시지를 포함한 TCP/IP 패킷 생성 -> 웹 서버로 전송
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
POST
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]요청 데이터 처리 • 단순히 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야 하는 경우예) 주문에서 결제완료 -> 배달시작 -> 배달완료 처럼 단순히 값 변경을 넘어 프로세스의 상태가 변경되는 경우POST의 결과로 새로운 리소스가 생성되지 않을 수도 있음 예) POST /orders/{orderId}/start-delivery (컨트롤 URI)POST /orders/{orderId}/start-delivery (컨트롤 URI)에서 위의 POST 메서드는 다른 POST와는 달리 클라이언트에서 리소스를 식별하고 있는 것으로 보이는데 이러한 경우에는 리소스를 생성하지 않고 프로세스의 상태를 변경하는 건가요?POST /orders/{orderId}/start-delivery 이것이 정확히 무엇을 의미하는지 잘 모르겠습니다.+ PUT을 지원하지 않는 곳이 있어서 그럴 때는 POST를 사용하면 된다고 한 것이 데이터 변경을 의미한다는 것은 이해를 했습니다.그리고 리소스라고 하는 것은 문서, 동영상, 사진 등과 같이 식별할 수 있는 모든 것이라고 얘기를 했는데 리소스 변경, 수정, 삭제, 조회라고 하는 것이 저 예제를 통해서 이해를 하자면 members라는 리소스가 있는데 그 안에 들어있는 필드 값(속성?)을 변경하는 것으로 느껴집니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
stateful, stateless
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]stateful, stateless에서 궁금한 점이 있습니다.stateless 같은 경우에는 서버에서 제공하는 리소스? 만 요청하면 되기 때문에 어떤 클라이언트에서 요청이 왔는지는 중요하지 않은 것으로 이해를 했는데 그러면 stateful은 계속 상태를 유지를 할텐데 어떤 클라이언트에서 요청이 왔는지는 쿠키를 통해서 구별하는 건가요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
성공 상태가 맞을가요?,.,
만약에 어떤 사람이 주문을 한적이 없어서..주문 조회 api 결과가 정상적으로 다 수행됬지만.. 아무것도 없는 경우에는 클라이언트에게 적절한 결과 코드는 무엇일까요..200일까요 아니면 다른 코드일까요보통 어떻게 되는지 궁금합니다..
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
비연결성에 대해 재질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]HTTP가 기본 비연결성 모델이지만 데이터 전송 후 일정 시간 연결을 유지하는 지속 연결을 추가한게 지금의 HTTP 모델이라고 이해했습니다.이전 강의에서 IP 프로토콜의 한계를 말씀하실 때 비연결성을 말씀하셨는데 같은 비연결성 용어라도 뜻이 서로 다른건가요? HTTP의 특징인 비연결성 : 필요할 때만 연결한다는 뜻IP의 한계인 비연결성 : 연결이 안되어있어도 전송함질문에 대해 재답변을 요청드렸는데 답변이 없으셔서 재질문드립니다..!+추가 : 많은 질문에 대한 답변들을 정리를 해보니 다음과 같은 결론이 나왔습니다.연결 지향성은 3 way handshake와 같이 먼저 요청 보낼 곳과 연결할 수 있는 지를 체크하는 것이고,연결성은 응답 이후에도 계속 연결이 되어있음을 뜻한다.즉, IP의 한계를 얘기할때는 비연결성이 아닌, 비 연결 지향성이 맞다는게 제 생각입니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
비연결성에 대해 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]HTTP가 기본 비연결성 모델이지만 데이터 전송 후 일정 시간 연결을 유지하는 지속 연결을 추가한게 지금의 HTTP 모델이라고 이해했습니다. 이전 강의에서 IP 프로토콜의 한계를 말씀하실 때 비연결성을 말씀하셨는데 같은 비연결성 용어라도 뜻이 서로 다른건가요? HTTP의 특징인 비연결성 : 필요할 때만 연결한다는 뜻IP의 한계인 비연결성 : 연결이 안되어있어도 전송함
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
PUT vs PATCH
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.api설계 중 고민이 있어 질문드립니다. 이메일, 이름, 전화번호 를 필드로 갖는 회원 테이블이라고 가정하겠습니다.수정 가능한 정보는 이름, 전화번호 일 때, 어떤 방식으로 설계하는 것이 적절한지 여쭙고 싶습니다.1) PATCH members/{id} 로 수정하고자 하는 필드만 body에 받는 방식2) PUT members/{id}/name , PUT members/{id}/phone 로 각각 받는 방식추가로 2)방식처럼 수정할 요소를 주소에 명시한다면 해당 요소 관점에서는 덮어쓰는 것이기 때문에 PATCH보다 PUT이 적절한 게 맞는지 궁금합니다!
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
클라이언트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]PUT과 POST의 차이점을 보고있었습니다.여기서 나오는 클라이언트가 직접 리소스의 URI를 지정한다. 를 보고 드는 생각이 클라이언트의 정확한 정의에 대해 알고 싶습니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
URI 설계원칙과 rest API
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님께서 말씀해주신 URI를 설계할때는 리소스만 식별하라는 말씀이 제가 공부했던 rest api의 특징과도 비슷해서 궁금증이 생겨 질문 드립니다. 그러면 혹시 설명해주신 URI 설계 원칙이 rest api의 특징이라고도 볼 수 있는 걸까요?
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
sameSite 와 도메인설정 차이점
서버에서 쿠키를 생성할때 도메인을 설정하는 이유는?만약 클라이언트가 다른 도메인에서 요청한것이라면 서버가 쿠키를 응답 자체를 안해주는걸까요?서버에서 쿠키 생성시 samesite를 설정하는 이유는?클라이언트가 쿠키를 먼저 서버로 부터 받은후, 다시 다른 api 요청시에 나의 도메인과 쿠키에 설정된 도메인이 다른 경우 막으려고 하는건가요?2가지 차이점에 대해 명확히 좀 알려주셨으면 ㅠㅠ
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
호스트..
이해가 안갑니다..서버는 하나의 아이피를 가지자나요?그런데 지금 상황은 도메인을 여러개 등록할때 당연히 같은 아이피로 등록했다는거자나요?그런데 서버에서 저 호스트 정보가 왜 필요한걸까요?현재 서버에서 어플리케이션 3개가 띄어져있다고하면3개는 모두 포트가 다를수밖에 없습니다그러면 클라가 요청시에 포트만 다르게 요청하면 되는 것인데굳이 호스트가 왜 필요한걸까요?..
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
rest api설계 디자인에 관하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 현재 프로젝트로 스케줄러 rest api 개발을 하고 있습니다.하지만 rest api 설계 중 어떤 형식으로 설계해야 좋은 설계가 될지 고민이 들어 질문 드립니다. 스케줄러 시나리오는 다음과 같습니다.유저A가 여러 유저들과 그룹a'를 만들고 그룹a'에서 스케줄을 생성할 수 있습니다.유저A는 모든 약속을 한번에 모아볼 수 있고, 또는 그룹a'의 방에 들어가서 그룹a'의 스케줄을 볼 수 있습니다.1번 /user/{userId}/schedules : 유저의 모든 스케줄/group/{groupId}/schedules : 그룹의 모든 스케줄/schedules/{scheduleId} : 상세 스케줄 2번/schedules/user/{userId} or /schedules?userId= 유저의 모든 스케줄/schedules/group/{groupId} or /schedules?groupId 그룹의 모든 스케줄/schedules/{scheduleId} 상세 스케줄 어떤 방식이 좋은 방식인가요?1번은 계층적 구조에 중점을 두었다 생각하고 2번은 리소스에 대한 가시성이 좋다고 생각이 듭니다.웹페이지를 라우팅할때는 1번 rest api를 설계할때는 2번 방식을 무심코 썼었던거 같은데 둘의 URL매핑 구조는 달라야 하는게 맞는건가요? 글이 두서가 없어 죄송합니다! 아직 지식에 부족함이 많아 정리가 잘 안되네요.
- 해결됨모든 개발자를 위한 HTTP 웹 기본 지식
순수 html을 사용하지 않을떄도 url를 이용하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]앱 클라이언트나 Ajax? 라고 부르셨던 리액트도 url를 이용하여 json 데이터를 서버와 통신을 하나요?URL를 이용하지 않으면 어떤 방식을 이용하나요??
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
201 응답
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]201 상태코드 부분에서 질문이 있습니다. 요청이 성공해서 새로운 리소스가 생성된 경우 201 상태코드와 생성된 리소스에 대한 정보를 body에 넣고 Location에 리소스의 위치를 넣어서 보낸다고 하셨는데 응답의 body와 Location 정보가 꼭 필요한 것인지 궁금합니다. 클라이언트는 리소스를 생성해야되므로 body에 내용이 필수적으로 필요하지만 서버의 응답의 경우 201 상태코드만 보내어 리소스 생성이 정상적으로 이루어졌는지만 클라이언트에게 알려주면 되는것 아닌가요? 서버에서 응답으로 보낸 Location과 body의 데이터가 클라이언트에서 어떤식으로 사용되기를 바래서 이러한 데이터를 함께 보내는지 궁금합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
영구적/일시적 리다이렉션은 논리적인 의미 구분인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영구적 리다이렉션과 일시적 리다이렉션이 의미에 따라 나눠지는것 말고 따로 기술적인 차이가 있는 지 궁금합니다. 관련하여 구체적인 질문 2개가 있습니다. 두 리다이렉션 모두 요청을 보낸 후 응답의 Location 헤더를 참고하여 URI 를 이동하게 되는데 그럼 두 리다이렉션의 기능은 동일하지만, 단순히 내가 처음에 보냈던 URI 가 유효한 주소인지, 그렇지 않은지에 따라, 즉 의미에 따라 나눠진건가요?일시적인 리다이렉션 설명에서 리소스의 URI가 일시적으로 변경된 것이기 때문에 검색 엔진 등에서 URL 을 변경하면 안된다고 하셨는데, 응답의 location 을 참고해 다른 URL 로 요청을 보내는것은 이와 다른 의미인가요?(예시의 /order -> /order-result/19 와 같은) 그렇다면 검색 엔진에서 URI을 변경하면 안된다는게 무슨 뜻인지 궁금합니다.
- 미해결모든 개발자를 위한 HTTP 웹 기본 지식
자원을 식별하는 url
URL은 행위가 아닌 자원을 식별해야한다는 점 잘 이해했습니다.그런데 지금 제가 토이프로젝트를 진행중인데요.인증이 필요한 api와 인증이 필요없는 api를 구분하고자 스프링 시큐리티를 사용중입니다.예를 들어 네이버가 대표적으로 위와 같을 것 같은데, 로그인을 하지 않아도 기본적인 조회활동은 가능하지만 댓글,게시글,메일 등은 인가가 필요하죠.이러한 인증의 필요성을 구분할때 url패턴으로 구분을 하고싶은데예를 들어 /private/mail , /public/products으로 구분한다면 자원을 식별한다는 원칙에 어긋나는 걸까요..?의미를 가지긴하지만 서버측의 자원을 식별한다는 의미는 아니여서 이런 경우는 부적절한걸까요?