🔬Computer Science 51

[TIL] 프록시 캐시

🤓배움 요약하기 프록시 캐시가 무엇인가요? 프록시는 클라이언트와 서버 사이에 대리로 통신을 수행하는 것을 가리켜 프록시(Proxy)라고 하고, 그 중계 기능을 하는 서버를 프록시 서버라고 한다. ✔️ 프록시 캐시 한국에 있는 클라이언트가 미국에 있는 서버에서 데이터를 요청할 때 실제로 미국에 있는 원서버까지 가서 요청하지 않는다. 시간도 오래걸리고 효율적이지 않다. 그래서 한국 어딘가에 프록시 캐서 서버라는 걸 도입한다. (CDN 서버라고도 한다. ) 한국인들이 잘 보지 않는 유튜브를 보면 로딩속도가 느리다... 이게 바로 프록시 캐시 서버..!! 한국 클라이언트가 최초 요청시에는 느려도, 두번째 유저부터는 빠르다. 😃 이 시리즈는 '모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 듣고 정리하였습니다..

[TIL] 캐시 & 검증헤더와 조건부 요청

🤓배움 요약하기 캐시가 무엇인가요? 나중에 요청할 결과를 미리 저장해둔 후 빠르게 서비스 해주는 것을 말합니다. 캐시 덕분에 비싼 네트워크 사용량을 줄일 수 있고 브라우저 로딩 속도가 빠르기 때문에 빠른 사용자 경험이 가능하다는 장점이 있습니다. 검증 헤더와 조건부 헤더이란? 검증헤더와 조건부 요청을 사용하면 캐시 유효 시간이 초과해도 서버의 데이터가 갱신되지 않으면 304 Not Modified와 함께 헤더만 응답해서 네트워크 다운로드가 아주 적게 발생해서 캐시보다 매우 효율적으로 데이터를 전송할 수 있습니다. ✔️ 캐시가 없다면? 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크는 느리고 비싸기 때문에 웹 개발자라면 신경을 써야한다. 느린 사용자 경험 ✔..

[TIL] 쿠키

🤓배움 요약하기 쿠키의 가장 큰 특징이 무엇인가요? 쿠키는 지정한 서버에 대해서는 모든 요청에 쿠키 정보를 자동으로 포함하는 점이 가장 큰 특징이라고 생각합니다. ✔️ 쿠키 Set-Cookie : 서버에서 클라이언트로 쿠키를 전달 (응답) Cookie : 클라이언트가 서버에서 받은 쿠키를 저장하고 HTTP 요청시 서버로 전달한다. 참고로 HTTP는 무상태(stateless) 프로토콜이라서 클라이언트와 서버는 요청과 응답을 주고 받으면 연결이 끊어져서 서로 상태를 유지하지 않는다는 특징이 있다. 이것을 위한 대안으로 모든 요청에 사용자 정보를 포함해서 보내는 방법이 있다. => 모든 요청에 사용자 정보가 포함되도록 개발해야해서 개발자가 힘들고, 보안에도 문제가 있고 심각한 문제가 있다. 여기서 쿠키를 사용..

[TIL] HTTP 상태코드 ⚡️

🤓배움 요약하기 HTTP 상태 코드에 대해서 설명해주세요. HTTP 상태코드는 클라이언트가 보낸 요청의 처리 상태를 서버에서 응답해주는 코드입니다. 200번대 코드는 클라이언트가 보낸 요청이 제대로 성공했음을 알려주는 코드이고, 300번대는 클라이언트의 요청이 완료되려면 추가적인 조치가 필요하다는 뜻이고, location 헤더가 있으면 location 위치로 리다이렉션된다는 특징이 있습니다. 400번대 코드는 클라이언트에서 잘못된 코드나 데이터를 보내서 나타나는 에러코드이고, 500번대 에러는 서버에 문제가 생겨서 나타나는 에러코드 입니다. 프로젝트에서 멘토로 잠시 만났던 분이 웹 개발자라면 HTTP 상태코드에 대해서는 빠삭하게 알고 있어야 한다고 강조하셨는데 이번에서야 제대로 공부할 수 있었습니다. ✔..

[TIL] 클라이언트에서 서버로 데이터 전송

✔️ 클라이언트에서 서버로 데이터 전달 방식 1. 쿼리 파라미터를 통한 데이터 전송 (GET) => 주로 정렬 필터 (검색어) 2. 메세지 바디를 통한 데이터 전송 (POST, PUT, PATCH) => 회원가입, 상품 주문, 리소스 등록, 리소스 변경 등등 ✔️ 클라이언트에서 서버로 데이터 전송 상황 1. 정적 데이터 조회 (GET) 이미지, 정적 텍스트 문서 일반적으로 리소스 경로로 단순하게 조회 가능 2. 동적 데이터 조회 (GET) 주로 검색, 게시판 목록에서 정렬 필터(검색어) GET은 쿼리 파라미터를 사용해서 데이터를 전달한다. 3. HTML Form을 통한 데이터 전송 (GET, POST) 회원가입, 상품 주문, 데이터 변경 GET, POST만 지원하므로 컨트롤 URI를 사용한다. ex) P..

[TIL] HTTP 메서드 종류와 속성

🤓배움 요약하기 멱등성이란? 한 번 호출하든 두 번 호출하든 100번 호출하든 결과가 똑같은 것을 말하는데 HTTP 메서드에서는 GET, PUT, DELETE가 멱등합니다. ✔️ API URI 설계에서 가장 중요한 것은 리소스 식별이다! URI는 리소스만 식별한다. 리소스와 해당 리소스를 대상으로 하는 행위를 분리 - 리소스: 회원 - 행위: 조회, 등록, 삭제, 변경 리소스는 명사, 행위는 동사 ✔️HTTP 메서드 종류 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명 (주로 CORS에서 사용) ■..

[TIL] HTTP와 HTTP의 특징

🤓배움 요약하기 HTTP가 무엇인가요? HTTP는 HTML이나 리소스를 전송하기 위한 프로토콜입니다. HTTP의 특징과 장점은 무엇인가요? 서버가 클라이언트의 상태를 보관하지 않는 stateless하다는 특징에서 서버의 확장성을 높일 수 있다는 장점이 있습니다. 그리고 연결을 유지하지 않는 비연결성이라는 특징에서 서버 자원을 효율적으로 사용할 수 있다는 장점이 있습니다. HTTP 메세지 구조에 대해서 알려주세요. HTTP는 시작라인, 헤더, 공백, 메세지 바디로 구성되어 있습니다. request의 시작라인에는 HTTP 메서드, 요청대상, HTTP Version이 들어있고, response의 시작라인에는 HTTP Version과 응답코드가 들어있습니다. 헤더에는 HTTP 전송에 필요한 모든 부가정보가 들어..

[TIL] 웹 브라우저의 요청 흐름

🤓 배움 요약하기 웹 브라우저의 요청 흐름에 대해서 설명해주세요. 1. 먼저, 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력합니다. 2. 그러면 DNS 서버에서 사용자가 입력한 URL 주소 중 도메인 네임을 검색을 합니다. 3. 그리고 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달합니다. 4. 이렇게 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용해 HTTP 요청 메세지를 생성해 TCP 프로토콜을 사용해 인터넷을 거쳐 해당 IP 컴퓨터로 전송되고, 이 요청 메세지는 다시 HTTP 프로토콜을 통해 웹 페이지 URL 정보로 변환이 됩니다. 5. 웹 서버는 이 변환이 된 정보에 해당하는 데이터를 검색하여 찾아낸 뒤 HTT..

[TIL] URI 전체 문법, URI vs URL vs URN

🤓배움 요약하기 URI가 무엇인가요? 인터넷 자원을 나타내는 고유 식별자 입니다. ✔️ URI? URL? URN? URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. ▶ URI 란? 👉 인터넷 자원을 나타내는 고유 식별자 입니다. Uniform = 리소스 식별하는 통일된 방식 Resource = 자원, URI로 식별할 수 있는 모든 것(제한 없음) html 코드뿐만 아니라 모든 것 Identifier = 다른 항목과 구분하는데 필요한 정보 ▶ URL 란? Location = 리소스가 있는 위치를 지정 변할 수 있다. ▶ URN 란? Name = 리소스에 이름을 부여 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음. ✔️ URI ..

[TIL] DNS란? 인터넷 네트워크 정리

🤓배움 요약하기 DNS란? IP는 변하기 쉽고, 기억하기 어려운데 도메인을 등록해서 사용할 수 있도록 도와주는 것이다. ✔️ TCP, UDP 없이 IP만 사용할 때의 단점 1. IP는 기억하기 어렵다. ip 주소 예시 : 100.100.100.1, 200.200.200.2 2. IP는 변경될 수 있다. IP는 바꿀 수 있다! ✔️ DNS(Domain Name System) 전화번호부 같은 서버를 제공해준다. 그래서 도메인 명을 등록을 하고 그거를 IP 주소로 바꿀 수 있다. DNS 서버 예시) 도메인 명 IP google.com 200.200.200.2 aaa.com 210.210.210.3 클라이언트가 도메인 명(google.com)을 DNS 서버에 요청을 하면 DNS 서버는 해당하는 IP를 응답으로 ..