복잡한 인터넷 망에서 메시지를 보내기 위해서는 최소한의 규칙이 필요하다! 그것은 IP주소를 통해 가능해지는데 클라이언트가 먼저 IP주소를 부여받는다. 그리고 서버에 IP가 있어야 한다. 패킷이라는 통신 단위로 전송을 하는데 `
복잡한 인터넷 망에서 메시지를 보내기 위해서는 최소한의 규칙이 필요하다!그것은 IP주소를 통해 가능해지는데우선 먼저 IP주소에 대해 알아보자IP주소는 흔히 xxx.xxx.xxx.xxx 같은 형식으로 구성되어 있다.컴퓨터끼리 주고 받는 주소라고 생각하면 편할 것이다.그럼
앞서 IP프로토콜에서 발생한 수많은 문제들에 대해 알아보았다.요약하면패킷이 소실될 가능성이 있다.패킷이 섞여서 순서대로 보내지지 않을 가능성이 있다.같은 IP를 사용하는 PC에서 서버에 통신하는 애플리케이션이 2개 이상이라면! 이를 구분할 수 없다.IP가 메시지를 담고
하나의 IP에서 두 가지 이상의 애플리케이션을 동시 실행한다고 생각해보자지속적으로 서버에서 패킷 메시지를 보내며 통신해야하는 예를 들면 음성대화 애플리케이션을 이용해 통화하면서 온라인 게임을 하는 상황이라면?두 가지의 애플리케이션이 동시에 패킷을 주고 받아야하는데 IP
리소스를 식별하는 통합된 방법흔히 URI, URL, URN이 있는데URI 안에 URL과 URN이 포함되어 있다.각각 L과 N은 Locator와 Name을 뜻한다.URI는 방법이라면 Locator를 통해 리소스를 식별하는 방법,Name을 통해 리소스를 식별하는 방법을 뜻
이전에 위의 URL을 예로 들어 설명을 했었다.DNS를 조회해서 www.google.com을 찾는다. 예로 IP가 200.200.200.2라고 하자https로 시작하기에 443port는 생략이 가능하다.내 IP(예로 100.100.100.1이라고 하자)에서 위의 URL
HTTP(HyperText Transfer Protocol)HTML(HyperText Markup Language)즉 HTML문서간의 링크를 통신할 때 사용하는 프로토콜로 시작했다.그런데 지금은 HTML을 포함하여 텍스트, 음성, 영상, 파일, JSON, XML(API
HTTP는 Request와 Response의 구조를 가진다.HTTP의 클라이언트는 Request만 하고 서버는 Response만 한다는 뜻이다.즉, 클라이언트와 서버를 분리하여 독립된 하나의 영역을 가지게 되는데클라이언트는 UI에만 집중하고 서버는 데이터 저장과 비즈니
우선 연결을 유지하는 모델(TCP/IP)에 대해 알아보자 클라이언트가 요청을 하면 서버는 응답을 한다.여러 클라이언트가 요청을 하면 서버는 계속해서 연결을 유지하기 때문에 서버 자원을 소모하게 된다.이 모델의 단점은 계속해서 서버 자원을 소모한다는 것이다!그럼 이제 연
http 메시지는 크게 4개의 구성요소가 있다.start-line(시작 라인)header 헤더empty line 공백 라인(CRLF)message bodyhttp는 RFC 공식 스펙에HTTP-message = start-line \*(header-fiel
집안 사정으로 인해 글이 약간 늦어졌다.. 1일 1게시물을 목표로 하고 있었는데 ㅠㅠ이제 SQLD를 앞두고 있어서 최대한 1일 1게시물을 맞추긴 하겠으나 조금 짧게 해보려고 한다.HTTP 메서드를 만들어보겠다.HTTP메서드 - GET, POSTHTTP메서드 - PUT,
GET : 리소스 조회 \-> 나에게 리소스를 가져다 줘(목록을 조회할 때 주로 sql에서 select함수 라고 생각하면 됨)POST : 요청 데이터 처리 주로 등록에 사용\-> (거의 대부분의 요청데이터는 POST가 처리하는데 insert, update를 동시에 사용
리소스를 완전히 대체한다.리소스가 없으면 생성, 있으면 덮어버린다.중요한건 완전히 대체한다는 점이다.PUT은 리소스를 식별하고 URI를 지정한다. 클라이언트가 리소스의 위치를 지정한다는 점이 POST와의 가장 큰 차이점이다.예를 들어 두 가지의 필드가 있다고 하자 us
안전(Safe Methods)멱등(Idempotent Methods)캐시가능(Cacheable Methods)HTTP는 위의 속성들이 있다. 멱등은 처음 들어본 단어였는데김영한 강사님께서 강의해주신 내용을 바탕으로 이해한 바를 설명해보겠다.아래 표는 강의에서 위키피디아
클라이언트에서 서버로 데이터를 전송하는 방법 HTTP 메서드를 어떻게 활용하는지에 대해 알아보자 클라이언트에서 서버로 어떻게 데이터를 전송하는지 HTTP API 설계할 때 어떻게 하면 좋은지 알아보자 클라이언트에서 서버로 데이터를 전송할 때 데이터의 전달 방식은 크
사실 프로젝트 하나만 해보면 HTTP API를 설계하는 것이 어렵지 않을 것이다.우선 김영한 강사님의 커리큘럼에 있었기 때문에.. 정리는 하고 가야겠다!제시된 상황에 대해 먼저 설명하겠다.HTTP API - 컬렉션POST 기반 등록예) 회원 관리 API 제공HTTP A
흔히 404 ERROR라고 하는 것을 많이 들어봤을 것이다.클라이언트가 잘못된 URI 요청을 하면 404 Not Found 에러가 생기듯이각 번호대로 뜻하는 바가 다르다.1xx(Informational) - 요청이 수신되어 처리 중 -> 현재는 잘 사용되지 않음(하드웨
header-field = field-name ":" OWS field-value OWS(OWS: 띄어쓰기 허용)field-name은 대소문자 구분이 없다.예시로 들면 붉은색 글씨가 HTTP 헤더이다.요청메시지GET /search?q=hello&hl=ko HTTP/1.
Content-Type : 표현 데이터의 형식Content-Encoding : 표현 데이터의 압축 방식Content-Language : 표현 데이터의 자연 언어Content-Length : 표현 데이터의 길이표현 헤더는 전송, 응답 둘 다 사용한다.아래 HTTP 응답
클라이언트가 선호하는 표현을 요청한다.클라이언트의 요청 우선순위에 맞춰서 서버는 노력한다. 하지만, 없다면 기본값을 내놓는다.Accept : 클라이언트가 선호하는 미디어 타입 전달Accept-Charset : 클라이언트가 선호하는 문자 인코딩Accept-Encoding
단순 전송압축 전송분할 전송범위 전송일반적으로 요청하고 그 리소스 파일을 전부 받는다.Content-Length의 길이가 변하지 않는다.Content-Encoding을 통해 압축한다.(gzip 등)Content-Length의 길이가 줄어든다.Transfer-Encodi
인증 Authorization : 클라이언트 인증 정보를 서버에 전달한다. WWW-Authenticate : 리소스 접근시 필요한 인증 방법 정의 Authorization 클라이언트 인증 정보를 서버에 전달한다. Authorization : Basic xxxxxxx
자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소저장공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.캐시는 웹 페이지 요소를 저장하기 위한 임시 저장소로 웹 페이지를 렌더링할 때 발생하며 웹 페이지를 빠르게 렌더링 해주는 역할을 한다. 주로 오디오, 비디오