CS/HTTP

    [HTTP] HTTP 메세지

    [HTTP] HTTP 메세지

    HTTP 메시지 구조 empty line 공백 라인(CRLF)는 무조건 들어가야 한다. HTTP 요청 메시지 GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com HTTP 응답 메시지 HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8 Content-Length: 3423 ... 시작 라인 - 요청 메시지 start-line = request-line / status-line request-line = method SP(공백) request-target SP HTTP-version CRLF(엔터) HTTP 메서드(GET: 조회) 요청 대상(/search?q=hello&hl) HTTP Version 요청 메시지 - ..

    [HTTP] 비 연결성(Connectionless)

    [HTTP] 비 연결성(Connectionless)

    연결을 유지하는 모델 클라이언트 2와, 3이 놀고 있어도 계속 연결한 서버가 유지를 해야 한다는 단점이 있음. 연결을 유지하지 않는 모델 최소한의 자원으로 서버를 유지할 수 있음. 비 연결성 HTTP는 기본이 연결을 유지하지 않는 모델이다. 일반적으로 초 단위 이하의 빠른 속도로 응답 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십 개 이하로 매우 작다. 예) 웹 브라우저에서 계속 연속해서 검색 버튼을 누르지 않는다. 서버 자원을 매우 효율적으로 사용할 수 있다. 한계와 극복 TCP/IP 연결을 새로 맺어야 한다. - 3 way handshake 시간이 추가된다. 웹 브라우저로 사이트를 요청하면 HTML 뿐만 아니라 자바스크립트, css, 추가 이미지 등등 수많은 자원이..

    [HTTP] Stateful, Stateless

    [HTTP] Stateful, Stateless

    무상태 프로토콜 무상태(Stateless) 서버가 클라이언트의 상태를 보존하지 않는다. 장점: 서버 확장성(스케일 아웃)이 높다. 단점: 클라이언트가 추가 데이터를 전송해야 한다. Stateful, Stateless 차이 상태 유지(Stateful) 중간에 다른 서버로 바뀌면 안 된다. 서버가 바뀔 시 상태 정보를 다른 서버에게 미리 알려줘야 한다. 무상태(Stateless) 중간에 다른 서버로 바뀌어도 괜찮다. 클라이언트 요청이 증가해도 서버를 대거 투입할 수 있다. 무상태는 응답 서버를 쉽게 바꿀 수 있다 -> 무한한 서버 증설이 가능하다. 무상태(Stateless)의 한계 무상태 - 데이터를 너무 많이 보낸다. 로그인이 필요 없는 단순한 서비스 소개 화면 상태 유지 로그인 로그인한 사용자의 경우 로..

    [HTTP] 클라이언트 서버 구조

    [HTTP] 클라이언트 서버 구조

    클라이언트 서버 구조 Request Response 구조 클라이언트는 서버에 요청을 보내고, 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 클라이언트와 서버를 분리하는 것이 중요하다. 비즈니스 로직과 데이터를 서버에 넣고 클라이언트는 UI와 사용성에 집중한다. 클라이언트와 서버가 각각 독립적으로 진화 가능하다. 참조 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com

    [HTTP] HTTP

    [HTTP] HTTP

    HTTP HyperText Transfer Protocol HTTP 프로토콜에 모든 형태의 데이터를 전송 가능. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 실무에서 일해보면 서버간 통신할 때 TCP 프로토콜 직접 이용해서 데이터를 전송하는 경우가 거의 없다. HTTP 프로토콜로 연결하고, 물론 TCP 프로토콜 위에 HTTP 프로토콜이 있긴 함. TCP 직접 연결해서 하는 경우는 게임 서버 또는 특수한 경우. 모바일 게임의 경우 HTTP열어서 통신하는 구조로 개발을 많이 한다. 시간이 흐르면서 문서 뿐 아니라 모든 것을 전송할 수 있게 발전하였음 HTTP 역사 HTTP/0.9 1..

    [HTTP] 웹 브라우저 요청 흐름

    [HTTP] 웹 브라우저 요청 흐름

    웹 브라우저 요청 흐름 https://www.google.com/search?q=hello&gl=ko https://www.google.com:443/search?q=hello&gl=ko DNS 서버를 조회 Port 생략 IP와 Port번호를 찾아낸 후 HTTP 요청 메세지 생성 HTTP 메세지 전송 생성된 패킷을 서버로 전달 요청 패킷 도착 TCP/IP 패킷을 까서 버린 후 HTTP 메시지를 꺼내어 읽고 해석. 해석 후 응답 패킷 전달. 참조 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com

    [HTTP] URI와 웹 브라우저 요청 흐름

    [HTTP] URI와 웹 브라우저 요청 흐름

    URI URI(Uniform Resource Identifier) URI? URL? URN? "URI는 로케이터(Locator), 이름(Name) 또는 둘 다 추가로 분류될 수 있다" ietf.org/rfc/rfc3986.txt URL Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URL과 URN URL - Locator: 리소스가 있는 위치를 지정 URN - Name: 리소스에 이름을 부여 위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않음. 앞으로 URI를 URL과 같은 의미로 활용(인프런 강의) URL 전체 ..

    [HTTP/김영한] DNS

    [HTTP/김영한] DNS

    DNS 도메인 네임 시스템(Domain Name System) 인터넷 또는 다른 IP 네트워크를 통하여 도달할 수 있는 컴퓨터를 확인하는 데 사용되는 계층적이고 분산된 이름 지정 시스템 전화번호부 도메인 명을 IP주소로 변환해준다. DNS를 사용하는 이유 IP가 바뀌면 접근할 수 없어진다. IP는 기억하기 어렵다 DNS 사용 참조 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com Domain Name System - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump ..