애플리케이션이 없으면 통신이 시작되지 않는다. 애플리케이션이 사용하는 프로토콜을 모두 애플리케이션 계층 프로토콜이라 부른다. 애플리케이션 계층 프로토콜은 자신이 통신을 하는 것이 아니라 통신 자체는 모두 OS, 즉 TCP/IP에 맡긴다.
①브라우저에URL을 입력한다.
➜(HTTP)②요청이전송한다.
➜③요청내용이 해석된다.(웹서버)
➜(HTTP)④파일이나 이미지를 응답으로 반환한다.
➜⑤ 파일 내부를 해석해서 이미지 등이 포함돼 있으면 다시 요청을 보낸다.
HTTP는 화면 하나를 표시하기 위해 몇 번이고 왕복한다.
🟢요청➜서버에 대한 요구 명령, 대상 데이터 지정한다.
EX)GET/HTTP/1.1
🟢메시지-헤더➜ 브라우저에 상세한 정보를 전달한다.(표시 대응 브라우저, 데이터 형식, 접속 방식 등)
EX)
User-Agent:브라우저 및 OS 명칭과 버전 정보
Host : 요청하는 호스트에 대한 호스트명과 포트번호
EX)www.naver.co.kr
Cookie : 클라이언트에 쿠키 정보
그외)
Authorization, Referer, Origin
🟢메시지-바디 ➜ 브라우저에 입력한 내용
🟢상태 ➜ 결과가 정상인지 에러가 있는지 등의 상태 정보를 가진다.
EX)HTTP/1.1 200 OK
🟢메시지-헤더 ➜브라우저에 상세한 정보를 전달한다.(표시 대응 브라우저, 데이터 형식, 접속 방식 등)
EX)
User-Agent:브라우저 및 OS 명칭과 버전 정보
Content-Type : 요청하는 호스트에 대한 호스트명과 포트번호
EX)www.naver.co.kr
Cookie : 클라이언트에게 부여하는 쿠키 정보
그외)
리소스 캐시만료일시, 지원가능한 http메소드 리스트, Access-Control-Allow-Origin
🟢메시지-바디 ➜ HTML 데이터 등 실제 데이터가 저장된다.
ex) "html, head" 등등
애플리케이션 계층 프로토콜인 HTTP 요청(데이터)을 소켓을 통해서 전송한다.
- 애플리케이션 계층 프로토콜은 필요한 데이터를 소켓에 기록만 하며, 통신은 모두 TCP/IP에 위임한다.
- 통신 상대가 보낸 데이터를 읽어서 통신 상대의 요청 등을 처리
💻HTTP 요청 - TCP/IP를 통해 상대 서버까지 전송된다.