HTTP는 HTML문서와 같은 리소스를 가져오기 위한 클라이언트-서버 프로토콜입니다.
client <-> proxy <-> proxy <-> server
사용자를 대신하여 작동하는 모든 도구
클라이언트가 요청한 대로 문서를 제공하는 서버.
웹 브라우저와 서버 사이에서 수많은 컴퓨터와 기계가 HTTP 메시지를 중계
캐싱, 필터링, 로드밸런싱, 인증, 로깅등의 기능을 수행 가능.
HTTP 요청은 서버가 특정 동작을 취하게끔 만들기 위해 클라이언트에서 전송하는 메시지입니다.
요청에 들어가는 HTTP 헤더는 기본 구조를 따른다. 대소문자 구분없는 문자열 다음에 콜론이 붙으며, 그 뒤에 오는 값은 헤더에 따라 달라진다. 헤더는 값까지 포함해 한 줄로 구성되지만 꽤 길어질 수 있다.
응답의 마지막 부분에 들어간다.
url을 통해 검색 -> 브라우저가 dns서버에 접속하여 ip address를 가져 옴 -> tcp가 소켓을 열어서 연결 -> 그 위에서 http request가 전달 -> response 받음 -> 더 이상 통신을 안 하는 경우 tcp 연결 끊어짐
스트리밍은 파일을 통째로 가져와서 그것을 저장한 후 플레이하는 것이 아니라 영상의 앞부분에 일정 시간 동안 영상을 플레이하지 못하고 그 시간 동안에 영상을 미리 가져온다 그래서 가져온 영상을 보여주면서 그 영상 뒷부분에 있는 것도 끊임없이 가져오는 작업을 한다. 또한 네트워크 속도에 따라 빠르면 해상도가 높은 것을 가져오고 느리면 해상도가 낮은 것을 http통신을 이용해 가져온다.