[혼공네트]5주차_응용계층

hyewoon·2024년 8월 14일
0

DNS와 자원

상황 ))
한빛미디어 혼공학습단 사이트에서 읽을거리 카테고리에 있는 '트래픽과 네트워크 성능지표'글 읽고 싶어~
요청 : client request 혼공사이트 읽을 거리 카테고리 내 '트래픽과 네트워크 성능지표' to server
응답 : server respond to the client

클라이언트의 요청과 서버의 응답이 있어야 원하는 사이트에 연결할 수 있다.
이때 알아야 하는 것은 메시지를 주고받고자 하는 대상송수신하고자 하는 정보 를 식별 할 수 있어야 한다.

  • 메시지를 주고 받고자 하는 대상 : client, server
    --> 즉, 호스트를 파악해야 하는 데, IP 주소 이외에 호스트를 특정하는 정보인 도메인네임을 사용

  • 송수신하고자 하는 정보 : 혼공사이트 내부에 있는'트래픽과 네트워크 성능지표' 글
    --> 즉, 내가 찾고자 하는 정보를 식별하기 위한 URI 정보가 필요하다.

도메인 네임과 네임 서버

  • 도메인 네임 : 호스트의 IP 주소와 대응되는 문자열 형태의 호스트 특정 정보

호스트의 IP주소는 언제든지 바뀔수 있고, 숫자 형식으로된 IP주소를 외우고 있는 것도 쉽지 않다. 그래서 기억하기 쉬운 문자열 형태의 도메인 네임이 호스트를 특정하기 위해 많이 사용된다.

  • 네임 서버 : 도메인 네임과 IP주소를 관리하는 서버로 DNS 서버라고도 한다.

도메인 네임 구조

WWW.example.com.

자원을 식별하는 URI

  • 자원(resource)란?
    네트워크상의 메시지를 통해 주고받는 대상
    html파일, 이미지, 동영상 파일 등

URI : Uniform Resource Identfier 자원을 식별할 수 있는 정보

  • URL : Uniform Resource Locator 위치를 이용해 자원을 식별
  • URN : Uniform Resource Name 이름을 이용해 자원을 식별

URL

  • 형식 : --> 왼쪽에서 오른쪽으로 갈 수록 더 구체적인 정보를 식별할 수 있음

    foo:// www.eample.com:8042/ over/there ?name=ferret #nose

  • sheme
    : 자원에 접근하는 방식

  • autority
    : 호스트를 특정할 수 있는 정보로, IP주소 혹은 도메인 네임

  • path
    : 자원이 위치한 경로, 슬래시(/)를 기준으로 계층적으로 표현

  • query
    : sheme, autority, path 에서 더 나아가 특정한 단어나 정보를 검색할 경우 필요한 정보
    : 물음표(?)로 시작되는 <키 = 값> 형태의 데이터

  • fragment
    : 자원의 한 조각으로, 흔히 HTML 파일과 같은 자원에서 특정 부분을 가리키기 위해 사용

HTTP

HTTP 특성

  1. 요청-응답 기반 프로토콜
  2. 미디어 독립적 프로토콜
  3. 스테이트리스 프로토콜(상태없음)
  4. 지속 연결 프로토콜

HTTP 메시지 구조

HTTP 메시지 구조1 : 시작라인

✔️ 요청 메시지

요청 라인 = 메서드 (공백) 요청 대상 (공백) HTTP버전 (줄바꿈)

💡 메서드
클라이언트가 서버의 자원(요청 대상)에 대해 수행할 작업의 종류를 나타냄

  • GET : 자원 습득하기 위한 메서드
  • HEAD : GET과 동일하나, 헤더만을 응답받는 메서드
  • POST : 서버로 하여금 특정 작업을 처리하게끔 하는 메서드
  • PUT : 자원을 대체하기 위한 메서드
  • PATCH : 자원에 대한 부분적 수정을 위한 메서드
  • DELETE : 자원을 삭제하기 위한 메서드
  • CONNECT : 자원에 대한 양방향 연결을 시작하는 메소드
  • OPTIONS : 사용 가능한 메서드 등 통신 옵션을 확인하는 메서드
  • TRACE : 자원에 대한 루프백 테스트를 수행하는 메서드

💡 요청 대상

✔️ 응답 메시지

상태 라인 = HTTP버전 (공백) 상태코드 (공백) 이유 구문*(줄바꿈)

💡 HTTP상태 코드& 이유구문(상태코드에 대한 문자열 형태 설명)
요청에 대한 결과를 나타내는 세 자리 정수

  • 200번대 : 성공 상태 코드
  • 300번대 : 리다이렉션 상태 코드
  • 400번대 : 클라이언트 에러 상태 코드
  • 500번대 : 서버에러 상태 코드

HTTP 메시지 구조2 : 필드 라인(Header)

  • HTTP 헤더 : HTTP 통신에 필요한 부가 정보

    HTTP 헤더 = 필드 이름(헤더 이름) : 필드 값(헤더 값)

HTTP 헤더1 : 요청 시 활용되는 HTTP 헤더

HTTP 헤더2 : 응답 시 활용되는 HTTP 헤더

HTTP 헤더3 : 요청과 응답에 모두 활용되는 HTTP 헤더

HTTP 헤더4 : 캐시

HTTP 헤더5 : 쿠키

HTTP 헤더6 : 콘텐츠 협상과 표현

profile
곰곰

0개의 댓글