donaricano-btn

레이어7(Layer7) - 애플리케이션 계층의 프로토콜 HTTP(applicationLayer)


1. 정의

- 애플리케이션이 사용하는 프로토콜을 모두 애플리케이션 계층 프로토콜이라 부른다

- 애플리케이션 계층 프로토콜은 직접 통신하는 것이 아니라 모두 TCP/IP에 맡긴다

- HTTP 사양은 RFC2616으로 정하고있다

- 브라우저에 URL을 입력해서 요청하면 웹 서버는 응답으로 HTML파일이 반환된다

- HTTP를 통해 몇 번이고 요청과 응답을 주고 받는다


2. 요청과 응답의 구체적 내용

1) 요청(Request)

- 요청 : GET은 파일 요구이고, POST는 데이터 전송을 의미

- 헤더: 다양한 부가 정보가 있으며 세밀한 제어를 위해 사용(브라우저에 상세한 정보)

- 바디 : 브라우저에 입력한 내용이 포함

2) 응답(Response)

- 상태 : 결과가 정상인지 에러인지 등의 상태 정보를 가진다

- 헤더 : 브라우저 상세 정보

- 바디 : HTML 데이터 등, 실제 데이터 저장


3. 애플리케이션 계층 프로토콜  HTTP 요청 통신과 소켓(Socket)

- 애플리케이션이 통신을 할 때 사용하는 통로를 소켓이라 한다

- 소켓에 기록된 데이터는 다른 한쪽의 소켓으로 전달된다

1) 소켓 구성

a. 애플리케이션 프로세스가 네트워크 통신하는 경우, 커널에 'TCP/IP통신을 위한 회선을 요청한다'

b. OS의 커널은 소켓을 만든다(데이터 보내기위한 회선이 만들어짐)

c. 애플리케이션은 TCP를 사용한다는 것과 IP주소 및 포트 번호 정보를 시스템 콜 경유로 커널에 전달, 접속 대상 서버와 연결이 생성

d. 상대방 서버에서도 소켓이 만들어 지며 가상 경로(virtual circuit)이 생성된다

e. 실제 데이터물리적인 통신 케이블로 전달 되지만 프로세스 관점에서는 소켓이라는 구멍에 넣은 데이터가 가상 경로를 통해서 상대 통신 소켓 구멍으로 나오는 것이다


블로그 이미지

리딩리드

,