HTTP는 Hypertext Transfer Protocol의 약자로, 초기에 하이퍼 텍스트 문서를 주고 받기 위해 설계된 프로토콜이다. 그래서 최초의 HTTP 버전은 오직 HTML 문서만 주고 받을 수 있었다. 이 글을 통해 HTTP의 역사와 버전에 따른 변경사항을 알아보자. HTTP/0.91991년에 나온 최초의 HTTP 버전으로써, Tim Berners-Lee와 CERN 기관의 연구자들에 의해 개발되었다. TCP/IP 위에서 동작하며 기본 포트는 80번을 사용한다. GET 요청만 사용할 수 있는 단순한 프로토콜이며 클라이언트가 서버에 요청하면 서버는 HTML 메시지를 응답한 뒤 종료한다. 위의 문장을 조금 더 자세히 설명하면 아래와 같다. TCP/IP 위에서 동작하며 기본 포트는 80번을 사용한..
tcp
URL을 웹 브라우저의 주소창에 입력한다. 웹 브라우저가 URL을 해석 후 문법에 맞지 않는다면 검색엔진을 이용해 검색한다. 문법에 맞으면 URL의 호스트 부분을 인코딩한다. HSTS(HTTP Strict Transport Security) 목록을 확인하고 있으면 HTTPS로, 없다면 HTTP로 요청한다. DNS(Domain Name Server) 조회 브라우저/로컬 캐시를 확인해서 도메인에 해당하는 IP가 있는지 확인한다. 없다면 OS에게 DNS 서버에 요청을 지시 DNS 서버는 해당 도메인에 해당하는 IP를 돌려준다 (HTTP 요청) TCP 3-way handshake과정을 통해 연결을 설정한다. 클라이언트가 서버에게 연결 요청 (SYN 패킷) 서버가 클라이언트에게 요청을 수락하고 연결을 설정한다는 ..