Protocol7 [모든 개발자를 위한 HTTP 웹 기본 지식 강의] HTTP 개념 설명 ✔ 데이터를 주고받기 위한 규약 HTTP웹 상에서 데이터를 주고받기 위한 규칙 중 하나인 HTTP의 전체 흐름 파악HTTP 메시지에 모든 것을 포함해 전송HTML, TEXTIMAGE, 음성, 영상, 파일JSON, XML (API)거의 모든 형태의 데이터 전송 가능서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용지금은 HTTP 시대라 해도 과언이 아니다HTTP의 역사HTTP/0.9 1991년 : GET 메서드만 지원, HTTP 헤더 xHTTP/1.0 1996년 : 메서드, 헤더 추가HTTP/1.1 1997년 : 가장 많이 사용, 우리에게 가장 중요한 버전RFC2068 (1997) → RFC2616 (1999) → RFC7230 ~ 7235 (2014)HTTP/2 2015년 : 성능 개선HTTP/3 진.. 2023. 4. 25. [모든 개발자를 위한 HTTP 웹 기본 지식 강의] HTTP-URI-URL-URN ✔ URI & URLURI과 URL은 해당 자원의 위치를 식별하기 위해 사용되는 규칙이다URI(Uniform Resource Identifier)Uniform: 리소스를 식별하기 위한 통일된 규칙Resource: URI로 식별할 수 있는 모든 자원(제한 없음)실시간 교통 정보HTML우리가 구분할 수 있는 모든 것Identifier: 다른 항목과 구분하는데 필요한 정보URL(Uniform Resource Locator)리소스가 있는 위치를 지정URN(Uniform Resource Name)리소스에 이름 부여위치는 변할 수 있지만, 이름은 변하지 않는다.urn:isbn:8960777331 (어떤 책의 isbn URN)URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음✔ URL 분석http.. 2023. 4. 25. [모든 개발자를 위한 HTTP 웹 기본 지식 강의] HTTP의 TCP와 UDP 통신 ✔ TCP & UDPTCP/UDP가 어떻게 통신을 하는지 알아보자인터넷 프로토콜 스택의 4계층애플리케이션 계층HTTP, FTP전송 계층TCP, UDP인터넷 계층IP네트워크 인터페이스 계층LAN DriverLAN 장비✔ 인터넷 프로토콜 4계층채팅 프로그램을 통한 메시지 전송 과정OSI 7 Layer를 참고하세요웹 브라우저의 채팅 프로그램을 통해 Hello World라는 메시지 입력소켓 라이브러리를 통해 전송계층에 해당 메시지 전달전송계층에서는 TCP를 사용하여 해당 메시지를 패킷에 담아 인터넷 계층에 전달인터넷계층 IP 패킷 생성 후 TCP 패킷의 정보를 담는다마지막으로 네트워크 계층에 IP 패킷 전달네트워크 인터페이스 LAN카드를 통해 전송 시 이더넷 프레임 포함✔ TCP/IP 패킷 정보IP패킷으로 TC.. 2023. 4. 25. [모든 개발자를 위한 HTTP 웹 기본 지식 강의] HTTP의 PORT와 DNS ✔ PORTPort(포트)를 간단히 이해하기 위해서 아래 예시를 생각 해보자아파트(IP) 안에 있는 호수(Port)한 번에 둘 이상의 서버를 연결?Client의 PC에서 게임, 화상 통화, 웹 브라우저 요청을 동시에 한다고 가정위 같은 상황에서는 어떤 프로그램(P/G)에서 요청을 보냈는지 알 수 없다Client의 IP주소는 100.x.x.1로 동일하기 때문이다즉, 이 때 사용이 되는 정보가 PORT(포트)다TCP/IP 패킷 정보TCP/IP 패킷목적지 및 출발지 PORT번호전송 제어 정보인증 정보전송 데이터PORT 번호 규약PORT 번호는 0 ~ 65535번까지 할당 가능하다0 ~ 1023은 잘 알려진 포트로 사용하는 것을 지양.대표적인 PORT 정보FTP20, 21TELNET23HTTP80HTTPS443.. 2023. 4. 25. [모든 개발자를 위한 HTTP 웹 기본 지식 강의] HTTP의 Mehod란? ✔ HTTP 메서드HTTP API 생성HTTP 메서드 - GET, POSTHTTP 메서드 - PUT, PATCH, DELETEHTTP 메서드의 속성HTTP API를 만들어보자요구사항: 회원 정보 관리 API를 만들어라.회원 목록 조회회원 조회회원 등록회원 수정회원 삭제API URI 설계URI(Uniform Resource Indentifier)초보 개발자에게 URI 설계가 맞겨진 상황, 이름에 따라 URI 설계를 해볼까? API 설계에서 가장 중요한 부분은 리소스와 행위를 구분하는 것이다회원 목록 조회 /read-memeber-list회원 조회 /read-member-by-id회원 등록 /create-memeber회원 수정 /update-member회원 삭제 /delete-memberAPI URI 고민U.. 2023. 4. 25. [모든 개발자를 위한 HTTP 웹 기본 지식 강의] IP란? ✔ IP(Internet Protocol)복잡한 인터넷망에서 ’Hello World’라는 메시지를 전달해야 한다최소한의 규칙이 필요인터넷에서는 IP(Internet Protocol)이라는 규칙이 존재클라이언트와 서버가 둘 다 IP 주소를 가지고 있어야 한다인터넷 프로토콜 역할지정한 IP 주소(IP Address)에 데이터 전달.패킷(Packet)이라는 통신 단위로 데이터 전달.IP 패킷 정보란?메시지를 그냥 보내는것이 아닌 IP 패킷이라는 규칙을 통해 메시지 전달출발지 IP, 목적지 IP, 기타 정보를 패킷에 저장 후 인터넷 망에 정보 전달클라이언트 패킷을 인터넷망에 전달위에서 패킷에 저장된 정보를 통해 노드간에 해당 IP 패킷을 전달이렇게 전달된 패킷은 도착지 서버 ( ex: 200.200.200.2 .. 2023. 4. 25. [모든 개발자를 위한 HTTP 웹 기본 지식 강의] HTTP API 설계원칙 ✔ HTTP API 설계POST, PUT 둘 다 데이터를 등록할 때 사용이 되는데, 차이점은?HTTP API - 컬렉션POST 기반 등록ex) 회원 관리용 API를 제공해야 하는 상황HTTP API - 스토어PUT 기반 등록ex) 정적 컨텐츠 관리, 원격 파일 관리HTML FORM 사용웹 페이지 회원 관리GET, POST만 지원회원 관리 시스템API 설계 - POST 기반 등록URI는 리소스만 식별해야 한다, 행위는 HTTP 메서드로 구분회원 목록 /members → GET회원 등록 /members → POSTex) /members/createMemberex) /members/insertMemberex) /members/join단일 회원 조회 /members/{id}GET단일 회원 수정 /members/.. 2023. 4. 25. 이전 1 다음