서버 이해

정소담·2023년 3월 20일
0

TIL

목록 보기
31/33
  1. IP와 도메인은 무엇일까?
  • IP : Internet Protocol Address, 호스트가 자신들을 구분하기 위해 가지는 특수한 번호

    IP주소는 4개의 숫자와 점으로 구성되어 있으며, 각각의 숫자는 0~255 사이의 정수를 가짐.

  • 도메인(Domain) : 편리를 위해 IP주소 보다 의미가 있는 문자열을 사용함.
    웹 브라우저가 도메인과 연결되어 있는 IP 주소를 찾아서 이동해 주기 때문에 문자열로 표현된 인터넷 주소로 웹사이트에 접속 할 수 있음. (DNS, 도메인 네임 시스템)

    • 도메인과 IP의 연결 정보가 있는 서버 = Name Server
  1. 클라이언트와 서버는 무엇일까요?
  • 클라이언트(Client) : 데이터를 요청하는 쪽의 호스트

  • 서버(Server) : 호스트가 데이터를 요청 했을 때 이것에 응답, 서비스를 제공하는 쪽의 호스트

  1. 정적 웹 사이트와 동적 웹 사이트의 차이점은 무엇일까요?

    3-1. Django는 무엇을 위한 도구인가요?

  • 정적 웹 사이트 : 디바이스, 상황에 관계 없이 항상 일정한 화면을 제공
    브라우저는 웹 서버와 통신해서 이미 저장되어 있던 HTML, CSS, JS 파일을 다운 받음.
    웹 서버는 저장소 역할을 하고 따로 데이터베이스가 필요하거나 복잡한 로직이 필요하지 않음.

  • 동적 웹 사이트 : 클라이언트의 요청에 따라 다양한 화면을 제공

    웹 서버는 단순히 HTML, CSS, JS 파일을 제공하는게 아니라 웹 어플리케이션 서버(WAS)와 직접 통신을 함.

    WAS는 복잡한 로직, 데이터 베이스와 통신등을 책임지는데 웹 서버는 WAS와 통신해서 얻은 결과 값을 바탕으로 가공 작업을 거쳐 만들어진 동적인 웹 파일을 클라이언트에게 전달함.

  • Django : 파이썬으로 만들어진 웹 애플리케이션 프레임워크(web application framework).

    웹 애플리케이션 프레임 워크는 웹 개발의 공통적인 프로세스들의 상당한 부분을 자동화하고 표준화하면서도, 앱 템플릿을 위한 라이브러리와 프레임워크를 제공함.

    Django(장고)는 사이트 맵, 콘텐츠 관리, 사용자 인증 등을 자동으로 처리해주는 등 다양한 기능을 갖춤.

  1. HTTP는 무엇이고 요청과 응답 메시지 구성은 어떻게 되나요?
  • HTTP : 하이퍼텍스트 전송 프로토콜, HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 레이어 프로토콜.
    클라이언트가 요청을 하기 위해 연결을 연 다음 응답을 받을 때 까지 대기하는 전통적인 클라이언트-서버 모델을 따른다.

    클라이언트와 서버들은 개별적인 메시지 교환에 의해 통신.
    보통 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(requests), 서버에서 응답으로 전송되는 메시지를 응답(responses)이라고 함.

  • 요청 메시지 구성 :

    • Method : HTTP 메서드, 보통 클라이언트가 수행하고자 하는 동작을 정의한 GET, POST 같은 동사나 OPTIONS나 HEAD와 같은 명사.

    • Path : 가져오려는 리소스의 경로.

    • Version of the protocol : HTTP 프로토콜의 버전.

    • Headers : 서버에 대한 추가 정보를 전달하는 선택적 헤더들. POST와 같은 몇 가지 메서드를 위한, 전송된 리소스를 포함하는 응답의 본문과 유사한 본문.

      ex)
      
      GET / HTTP/1.1 # (Method, Path, Version)
      # Headers
      Host: developer.mozilla.org
      Accept-Language: fr
  • 응답 메시지 구성 :

    • Version of the protocol : HTTP 프로토콜의 버전.

    • Status code : 요청의 성공 여부와 그 이유를 나타내는 상태 코드

    • Status message : 아무런 영향력이 없는, 상태 코드의 짧은 설명

    • Headers : 요청 헤더와 비슷한 HTTP 헤더들, 선택 사항으로 가져온 리소스가 포함되는 본문

      ex)
      
      HTTP/1.1 200 OK # (Version, Status code, message)
      # Headers
      Date: Sat, 09 Oct 2010 14:28:02 GMT
      Server: Apache
      Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT
      ETag: "51142bc1-7449-479b075b2891b"
      Accept-Ranges: bytes
      Content-Length: 29769
      Content-Type: text/html
  1. 프레임워크는 무엇일까요?

    'FRAME 프레임(틀, 규칙or법칙)'+'WORK 워크(일, 소프트웨어의 목적)'

  • 프로그래밍에서 특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리 모임
profile
Hi ! I'm newbie :)

0개의 댓글