- 7계층에서는 사용자의 다양한 인터페이스를 담당한다
HTTP : HyperText Transfer Protocol로 웹 어플리케이션에서 HTML,JS,CSS같은 파일을 웹 서버에게 요청하고 받아오는 핵심 프로토콜
REQUEST와 RESPONSE 동작에 기반하여 서비스를 제공한다
중요한건 백엔드에서 , 백엔드는 서버 컴터에서 실행
- 특징 : 연결 수립, 동작, 연결 해제의 단순함이 특징, 문서를 전송받으면 연결을 끊고 다시 연결하여 Data 전송
- 단점 : 단순 동작이 반복되어 통신 부하 문제 발생
- MULTIPLE REQUEST 처리가 가능해서 REQUEST가 많을 경우 연속적인 응답 제공 -> PIPELINE 방식
- 하나의 IP 주소가 다수의 WEB SITE와 연결 가능
- 인터넷 프로토콜 설계에 최적화 및 빠른 속도를 위해 캐시 사용
- DATA를 압축해서 전달하기에 전달하는 DATA 양 감소
- Request Line : 가장 중요한 정보로, 아래 5개의 정보를 담고 있다. 요청하는 타입/ 공백/ uri or url / 공백 / HTTP 버전으로 구성
- 아래 첫번째 줄에 방식 DATA가 포함된 REQUEST 라인, 밑에는 전부 헤더이고, BODY는 없다
- ? 뒤에 부분이 요청하는 Data
scheme : 사용하고 싶은 프로토콜. 입력안하면 자동으로 들어감
IP주소:port : 도메인 주소를 쓰면 DNS서버가 컴퓨터 내부적으로 IP주소:port로 변환하여 입력, port 번호는 웹브라우저에서 사용하면 자동으로 80번이나 443번이 입력되며 생략된다
- https 프로토콜을 사용하며 , 도메인 주소는 comic.naver.com인데 이는 ip주소로 변환되며 https프로토콜이기에 port는 443번이지만 생략된다. 이는 이 ip주소에 해당하는 서버에 webtoon 폴더에 detail.nhr이라는 파일에 titleId라는 값에 641253의 값을 전달하는 것
- APACHE를 실행시키고 안에 htdocs 폴더 안에 파일을 생성하면 가져올 수 있다
호스트의 도메인 이름을 네트워크 ip로 바꾸거나 그 반대의 변환을 수행하는 시스템
계층 구조로 이루어져 있으며, 루트 DNS 서버, 최상위 레벨 서버, 책임 DNS 서버로 나뉘어지고 추가로 로컬 DNS 서버가 있다
- 맨 뒤에 .은 생략되며 도메인 주소의 뒤에 부터 처리한다
- 도메인 주소는 DNS 서버를 통해 IP주소로 바꾸고, IP주소를 도메인 주소로 바꿈
- 재귀 쿼리 : 로컬 DNS 서버와 주고받는 질의와 응답
- 반복 쿼리 : 로컬 DNS 서버가 다른 DNS 서버와 주고 받는 반복 쿼리
- 반복 쿼리를 통해 알아온 주소 : 권한 없는 응답
- 로컬 DNS가 알고 있는 주소 : 권한 있는 응답
- Status line이 가장 중요하다
- 상태코드를 파악해야한다
- 200번 : 성공적인 통신, 클라이언트의 요청이 성공 했다는 것
- 403번 : 클라이언트의 오류, forbidden, 클라이언트가 권한이 없는 페이지를 요청
- 404번 : 클라이언트의 오류, not found, 클라이언트가 서버에 없는 페이지를 요청
- 500번 : 서버의 오류, internal server error, 서버의 일부가 멈췄거나 설정 오류가 발생. 보통 사용자 코드에서 에러가 발생
- 503번 : 서버의 오류, service unavailable, 최대 session 수를 초과했을 때
헤더에는 수많은 정보를 담고 있음