Network
[Network] HTTP 상태코드
상태코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx(Informational): 요청이 수신되어 처리 중을 의미한다. 2xx(Successful): 요청 정상 처리한다. 3xx(Refirection): 요청을 완료하려면 추가 행동이 필요하다. 4xx(Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없다. 5xx(Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못한다. 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 된다. 299 -> 2xx(Successful) 451 -> 4xx(Client Error) 599 -> 5xx(Server Error) 2xx(Sucessful) - 클라이언트의 요청을 성공..
[Network] HTTP 메서드 활용
클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지이다. 1. 쿼리 파라미터를 통한 데이터 전송 GET, 정렬 필터로 주로 검색어에 사용된다. 2. 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 4가지 상황 1. 정적 데이터 조회 이미지, 정적 텍스트 문서 2. 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터로 쓰인다. 3. HTML FORM을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경에 쓰인다. 4. HTTP API를 통한 데이터 전송 회원가입, 상품 주문, 데이터 변경 서버 to 서버, 앱 클라이언트, 웹 클라이언트(Ajax) 정적 데이터 조회의 경우(쿼리 파라미터 미사용) 이미지, 정적 텍스트 문..
[Network] URI, URL, URN
URI, URL, URN URI는 로케이터(locator), 이름(name) 또는 둘다 추가로 분류 될 수 있다. URI: 리소스의 식별 URL: 리소스의 위치 URN: 리소스의 이름 URI Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URL, URN URL - Locator: 리소스가 있는 위치를 지정한다. URN - Name: 리소스에 이름을 부여한다. 위치는 변할 수 있지만, 이름은 변하지 않는다. URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않는다. URL분석 https://www.google.com/search?q=hello&hl=ko URL sc..
[Network] PORT, DNS(Domain Name System)
PORT의 탄생 배경 하나의 IP에서 한번에 둘 이상의 연결을 해야하는 경우는 TCP/IP 패킷 정보를 보면 출발지 PORT와 목적지 PORT를 넣어서 패킷 보내기에 PORT를 알 수 있다. 따라서, 아래와 같은 방식으로 서버와 PORT를 포함해 통신한다. 화상통화의 경우, 클라이언트에서 서버로 200.200.200.2:32202 로 요청을 보내고 서버에서 클라이언트로 100.100.100.1:21000로 응답을 보낸다. PORT - 0 ~ 65535 할당 가능하다. - 0 ~ 1023 잘 알려진 포트로 사용하지 않는 것이 좋다. - FTP - 20,21 TELNET - 23 HTTP - 80 HTTPS -443 DNS 탄생 배경 IP는 기억하기 어렵고, 변경될 수 있다. DNS 도메인 네임 시스템(Do..
[Network] TCP, UDP
TCP 전송 제어 프로토콜(Transmission Control Protocol) TCP 특징 1. 연결지향 - TCP 3 way handshake (가상 연결) 2. 데이터 전달 보증 3. 순서 보장 4. 신뢰할 수 있는 프로토콜 5. 현재는 대부분 TCP 사용 TCP/IP패킷 정보 TCP 3 way handshake SYN은 synchronized로 동기화라는 뜻이다. ACK는 acknowledgement code 확인이라는 뜻이다. 데이터 전달 보증 순서 보장 UDP 사용자 데이터그램 프로토콜(User Datagram Protocol) UDP 특징 1. 하얀 도화지에 비유해서 기능이 거의 없다. 2. 연결 지향 - TCP 3 way handshake를 지원하지 않는다. 3. 데이터 전달 보증을 지원..