개발/HTTP
-
(HTTP) 8 - connectionless (비연결성)개발/HTTP 2024. 10. 31. 09:04
TCP/IP 의 경우 기본적으로 연결을 유지한다. 따라서 서버가 연결을 유지하는 동안 서버 자원을 계속 소모하게 된다. 이와 다르게 TCP/IP 연결을 요청을 주고 받을때만 한다면서버는 최소한의 자원만 유지하면 된다. ■ 비연결성- HTTP 는 기본이 연결을 유지하지 않는 모델- 일반적으로 초 단위 이하의 빠른 속도로 응답- 1시간 동안 수천명이 서비스를 사용해도 실제 서버에서 동시에 처리하는 요청은 수십개 이하로 매우 작음ex) 웹 브라우저에서 계속 연속해서 검색 버튼 누르지 않는다.- 서버 자원을 매우 효율적으로 사용할 수 있다. ■ 비연결성 한계와 극복- TCP/IP 연결을 새로 맺어야 함 -> 3 way handshake 시간 추가- 웹 브라우저로 사이트를 요청하면 HTML 뿐 아니라자바스크..
-
(HTTP) 7 - Stateful(상태 유지), Stateless(무상태)개발/HTTP 2024. 10. 31. 08:40
■ Stateless (무상태 프로토콜)- 서버가 클라이언트 상태 보존 x ■ Stateful (상태유지)- 서버가 클라이언트 이전 상태를 보존 그러나 점원이 바뀌면 이전 내용을 모른다. 다음과 같이 이전 상태값에 대해서 유지하는 것이다. 무상태 상황에서는 고객이 상태에 대한 값을 모두 점원에게 전달한다.따라서 점원이 중간에 바뀌더라도 값은 동일하게 나온다. ■ 정리- 상태 유지(Stateful) : 중간에 다른 점원으로 바뀌면 안된다. (중간에 다른 점원으로 바뀔 때 상태 정보를 다른 점원에게 미리 넘겨야 함)- 무상태(Stateless) : 중간에 다른 점원으로 바뀌어도 된다.- 갑자기 고객 증가해도 점원 대거 투입 가능- 갑자기 클라이언트 요청 증가해도 서버 대거 투입 가능- 무상태는 응답 서..
-
(HTTP) 6 - HTTP 란?개발/HTTP 2024. 10. 30. 16:54
■ HTTP (Hyper Text Transfer Protocol)과거에는 하이퍼 텍스트 즉, 문서간의 링크를 통해서 연결을 할 수 있는 프로토콜로 사용했으나현재는 HTTP 메시지에 모든 것을 전송한다. - HTML, TEXT- IMAGE, 음성, 영상, 파일- JSON, XML (API)- 거의 모든 형태의 데이터 전송 가능- 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 ■ HTTP 역사 ■ 기반 프로토콜 HTTP/1.1 주로 사용한다.1.1 과 2 는 TCP 기반, 3 은 UDP 기반이다. ■ HTTP 특징- 클라이언트 서버 구조- 무상태 프로토콜(스테이스리스), 비연결성- HTTP 메시지- 단순함, 확장 가능 ■ 클라이언트 서버 구조 클라이언트가 서버에 요청을 보내고(Request) 응답..
-
(HTTP) 5 - URI 와 웹 브라우저 요청 흐름개발/HTTP 2024. 10. 30. 16:26
■ URI (Uniform Resource Identifier - 리소스 식별하는 통합된 방법)※ 리소스 식별 : 주민번호 식별과 비슷하게 생각하면 이해 편함 -> 자원을 식별하는 방법 URI 는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. - URL(Resource Locator) : 리소스의 위치- URN(Resource Name) : 리소스 이름 우리가 자주 사용하는 URL 과 말 그대로 이름을 나타내는 URN 이 있다.URN 은 거의 사용하지 않는다. * 단어 뜻- Uniform : 리소스 식별하는 통일된 방식- Resource : 자원, URI 로 식별할 수 있는 모든 것(제한 없음)- Identifier : 다른 항목과 구분하는데 필요한 정보 ■ URL..
-
(HTTP) 4 - DNS개발/HTTP 2024. 10. 30. 15:13
IP 는 길고 외우기 어렵다.더불어 변경 가능성이 있다. ■ DNS (Domain Name System - 도메인 네임 시스템)- 전화번호부- 도메인 명을 IP 주소로 변환 DNS 서버에 IP 주소를 넣으면 도메인으로 검색하면 IP 주소를 주고 IP 주소를 통해 접속 가능하다.만약 IP 가 바뀐다 하더라도 구글쪽에서 DNS 에 있는 IP 만 바꾸면 되기 때문에 문제가 해결된다. https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC 모든 개발자를 위한 HTTP 웹 기본 지식 강의 | 김영한 - 인프런김영한 | 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] ..
-
(HTTP) 3 - PORT개발/HTTP 2024. 10. 30. 14:59
다음과 같이 하나의 IP 에서 여러 응답을 받아야 할 때는 어떻게 할까 TCP 안에는 출발지 PORT 정보고 있어 각각의 애플리케이션 구분이 가능하다. 앞으로는 패킷을 TCP/IP 패킷으로 생각하며,안에는 각각 도착, 목적지를 구분하는 출발지 IP, 도착지 IP 와 애플리케이션을 구분하는 PORT 정보가 같이 있다고 생각한다. 이런 PORT 덕분에 같은 IP 내에서 프로세스를 구분할 수 있다. 비유로는 아파트 = IP 로 몇 동 몇 호 = PORT 로 구분하면 이해하기 쉽다.포트 정보는 다음과 같다. ※ HTTP : 웹 포트, HTTPS : 웹 포트 + 보안 https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED..
-
(HTTP) 2 - 전송계층 (TCP, UDP)개발/HTTP 2024. 10. 30. 14:42
■ 인터넷 프로토콜 스택 4계층 인터넷 프로토콜은 스택은 사진과 같이 애플리케이션 계층, 전송 계층, 인터넷 계층, 네트워크 인터페이스 계층 4가지로 구성돼 있다. 크게 우리는 사용하는 애플리케이션 (웹 브라우저, 채팅 프로그램, 게임) OS(리눅스, 윈도우, 맥), 네트워크 인터페이스(LAN 드라이버, LAN 장비) SOCKET 라이브러리를 통해서 OS 계층 Hello, world 메세지를 넘긴다. OS 계층에서는 TCP 정보를 생성해서 씌우고 이를 IP 에 전달한다. IP 와 관련된 데이터들로 다시 감싸져 IP 패킷이 생성된다. 네트워크 인터페이스를 통해서 LAN 카드로 나갈 때 Ethernet frame 포함돼서 나간다. ※ Ethernet frame : LAN 카드에 포함된 Mac 주소 (물..
-
(HTTP) 1 - IP (인터넷 프로토콜)개발/HTTP 2024. 10. 30. 13:42
■ IP 란?인터넷에서 컴퓨터끼리 통신하기 위해서는 복잡한 인터넷 망을 거쳐야 한다. 따라서 이를 해결해 줄 수 있는 것이 바로 IP 인터넷 프로토콜 이다. 인터넷 망으로 다른 사람에게 메세지를 보내기 위해서는 규칙이 필요한데 이게 바로 IP 이다. 보내는 클라이언트도 IP 주소가 필요하고,받는 서버도 IP 주소가 필요하다. ■ IP 역할- 지정한 IP 주소(IP Address) 에 데이터 전달- 패킷(Packet) 이라는 통신 단위로 데이터 전달 메세지 보낼 때 IP 패킷의 규칙이 있다. 출발지 IP(나의 아이피), 목적지 IP(전달 받고자 하는 곳의 IP) 로 IP 패킷을 만든다. 그러면 전송된 패킷은 출발지와 목적지를 가지고 있으며,규약에 의해 해당 패킷의 출발, 목적지 파악이 가능하..