1. TCP1-1. TCP란?TCP는 Transmission Control Protocol로써, 신뢰성이 높고 연결 지향 프로토콜이다. ”신뢰성이 높다” 의미는 두 장치 간에 정보를 전달함에 있어 안정적이고 순서대로 에러 없이 데이터를 교환할 수 있음을 의미한다. TCP는 연결 지향 프로토콜이기 때문에 두 장치가 데이터를 교환하기 전에 연결을 맺어야 한다. 여기서 연결을 맺는다는 것은 두 장치간에 세션이 존재하는지 확인한다는 의미이다. 두 장치가 세션을 연결하기 위해서는 3-way-handshake 과정을 거쳐아 한다. 2. 3-way-handshake STEP 1. Client → Server로 SYN 패킷 전송SYN 요청이란 연결을 요청하는 패킷이다. 발신자가 수신자에게 SYN 요청을 보내어 연결을 ..
1. HTTP1-1. HTTP란?HTTP란 Hyper Text Transfer Protocol의 약자로써, 서버/클라이언트 모델에서 데이터를 주고받기 위한 프로토콜이다. HTTP는 80 포트를 사용하며 클라이언트로부터 요청이 오기를 기다린다. 1-2. HTTP 구조GET /index.html HTTP/1.1Host: www.example.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q..
1. GET 요청서버에 저장된 리소스를 조회하기 위해서 사용된다.조회하고자 하는 데이터를 쿼리 스트링에 포함하여 서버로 전달한다.ex. example.com/posts?id=3쿼리 스트링이 아닌 메시지 바디에 포함하여 전송할 수 있으나, 이를 모든 브라우저에서 지원하지 않으므로 권장되지 않는 방법이다.리소스 조회 후 캐시에 저장하고, 이후에 동일한 데이터 조회 시에 서버로의 요청을 가로채어 캐싱된 데이터 복사본을 반환한다.리소스를 정상적으로 조회하면 200 OK를 반환한다. 2. POST 요청서버에 새로운 리소스를 생성하기 위해서 사용된다.서버로 요청하고자 하는 데이터를 메시지 바디에 포함한다.ex. example.com/posts메시지 바디{ "content":"test", "usernam..
1.HTTP GET1-1. GET 요청이란?GET 요청은 클라이언트 → 서버로 리소스를 요청하기 위해 사용되는 메서드이다. 즉, 서버에서 관리하고 있는 자원을 요청하는 것이다.ex. 게시물 조회 GET 요청의 경우 **쿼리 스트링(query string)을 사용한다. 요청 URL의 끝에 ‘?’을 붙이고 key=value 형식으로 요청한다. 이 때, 여러 개의 (key, value가) 사용된다면 ‘&’를 사용하여 구분한다.ex. example.com/posts?var1=value1&var2=value… 서버에서는 엔드 포인트 뒤에 붙은 쿼리 스트링을 받아서 리소스를 제공할 수 있다. 1-2. GET 요청 특징GET 요청은 캐시가 가능하다.동일한 자원에 대해서 반복되는 GET 요청은 서버로 전송하지 않고 캐..