목록CS/Network (14)
S E P H ' S
인터넷 브라우저에 www.naver.com 을 입력한다면 어떤 일들이 일어나는지 과정을 통해 웹 통신의 큰 흐름에 대해 알아보도록 하자. 먼저 간략한 흐름을 파악해보자. 웹 브라우저에 URL을 입력하면 브라우저가 URL을 해석한다. 웹 브라우저가 DNS를 통해 도메인으로 IP를 조회한다. HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성한다. TCP/IP 연결을 통해 서버로 HTTP 요청을 전달한다. 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메시지를 생성한다. TCP/IP 연결을 통해 요청한 컴퓨터로 전송 도착한 HTTP 응답메시지는 웹페이지 데이터로 변환되고, 웹 브라우저에 의해 출력된다. 1. 브라우저의 URL 파싱 URL을 입력받은 브라우저는 URL의 구조를 해석한다. 어떤 프로토콜로..
HTTP 헤더 header-field = field-name":"OWS field-value OWS HTTP 전송에 필요한 모든 부가정보를 담는 용도로 사용된다. 스펙에 정의된 헤더 뿐 아니라 임의의 헤더 추가도 가능하다. 표현(Representation) 과거 RFC2616 스펙에서는 엔티티 헤더, 엔티티 본문 등으로 불리던 HTTP 헤더와 바디는 2014년부터 개정된 RFC2730 ~ 7235 부터는 표현(Representation) 이라는 용어로 불리게 되었다. HTTP 헤더는 표현 헤더, HTTP Message Body는 표현 데이터라 부른다. 표현 헤더 전송, 응답 양측에서 사용이 가능한 정보로 서버/클라이언트 간에 송/수신할 때 해당 정보로 무엇을 어떻게 표현할지에 대해 알려주고 표현한다. 이..
API URL 설계 시 포인트 URL 설계 시 가장 중요한 것은 리소스 식별이다. 리소스란 ? 동작을 제외한 자원 그 자체를 리소스라한다. 회원 등록 시스템을 예로 들면, 회원을 등록하거나 수정 혹은 삭제하는 행위는 리소스가 아니다. 오직 회원이라는 개념만이 리소스라 할 수 있다. 리소스 기반의 회원 관리 URL 설계 동작은 HTTP 메소드로 구분한다. (Ex: GET, POST, PUT, PATCH, DELETE, ...) 회원 목록 조회 : GET /members 회원 조회 : GET /members/{id} 회원 등록 : POST /members 회원 수정 : PUT /members/{id} 회원 삭제 : DELETE /members/{id} HTTP 메소드 GET 리소스 조회에 사용. 서버에 전달..
HTTP(Hyper Text Transfer Protocol) 처음에는 문서간 링크를 통해 연결할 수 있는 프로토콜로 사용했지만 현재는 모든 것을 전송한다. HTML, TEXT IMAGE, Media, File JSON, XML ETC 기반 프로토콜 TCP : HTTP/1.1, HTTP/2 는 TCP 기반이다. UDP : HTTP/3 현재는 대부분 HTTP/1.1을 사용하는데, HTTP/2, HTTP/3도 점차 증가하고 있다. TCP 통신은 3 way handshake 때문에 신뢰성과 연결성은 보장하지만, 이 과정에 걸리는 시간만큼 속도가 떨어질 수 밖에 없다. 그렇기에 HTTP/3에서는 UDP 프로토콜을 애플리케이션 레벨에서 재설계를 해서 속도를 높혔다. 특징 1. 클라이언트 서버 구조 클라이언트는 요..