1. http/1.0의 신택스

gaon·2021년 7월 2일
0

http/0.9

http/0.9는 매우 단순한 프로토콜이다.
웹사이트의 페이지를 서버에 요청하고 그 응답으로 웹사이트의 내용을 받아오는 역할을 한다.

http/1.0

http/0.9에서 문서를 요청하면 서버는 데이터를 반환한다는 기본적인 뼈대는 완성했다. 하지만 매우 제한적이였다.

  1. 헤더
    헤더는 전자메일에 먼저 존재하였다. 전자메일에서의 헤더는 보내는 곳, 메일 형식의 버전, 보낸 일시, 보낸 사람, 제목, 문자 코드, 포맷 등 본문 이외의 정보를 담았다.

http에도 전자메일과 동일한 형식의 헤더가 도입되었다.
클라이언트에서는 User-Agent, Referer, Authorization 등의 헤더를 사용한다.
서버에서 클라이언트에 보내는 헤더는 Content-Type, Content-Length 등이 있다.
등록된 헤더
2012년까지는 사용자가 임의로 헤더를 추가할 경우 임의로 X-를 헤더 앞에 붙였었다.

  • MIME 타입
    MIME타입은 파일의 종류를 구별하는 문자열이다.
    브라우저 세계에서는 파일 종류를 특정할 때 Content-Type헤더에 지정된 MIME타입을 이용한다.
  1. 메서드
    HTTP/1.0으로 통신할 때 GET 부분은 메서드로 불린다.
  • GET
    서버에 헤더와 콘텐츠 요청
  • HEAD
    서버에 헤더만 요청
  • POST
    새로운 문서 투고
  • PUT
    이미 존재하는 문서를 갱신
  • DELETE
    지정된 문서 삭제
  1. 스테이터스 코드
    스테이터스 코드는 서버의 응답 상태를 알 수 있다.
  • 100번대
    처리가 계속됨을 나타낸다.
  • 200번대
    성공했을 때의 응답
  • 300번대
    서버에서 클라이언트로의 명령. 오류가 아니라 정상 처리다. 리디렉트나 캐시 이용을 지시한다.
  • 400번대
    클라이언트의 요청에 오류가 있다.
  • 500번대
    서버 내부의 오류
  1. 리디렉트
    300번대 스테이터스 코드의 일부는 리디렉트 하도록 지시하는 코드이다.
  2. URL
    웹 시스템을 다루는 한 URN이 등장할 일은 거의 없으므로 URI와 URL은 거의 같다.
    URL은 관용 표현으로 공식 표기는 URI가 되었지만 URL이 일반적으로 널리 사용된다.
    URL은 다음과 같은 요소로 구성된다.
    스키마://호스트명/경로
    URL 사양에 포함되는 모든 요스는 다음과 같이 구성된다.
    스키마://사용자:패스워드@호스트명:포트/경로#프래그먼트?쿼리
    자주 보는 스키마에는 http, https, mailto, file, ftp 등이 있다.

URL을 구성하는 문자로는 ASCII문자열로 영문자와 숫자, 그리고 몇개의 기호만 사용할 수 있었지만 RFC 2718에서 UTF-8로 인코딩하여 다국어 문자도 다룰 수 있게 되었다.
6. 바디
HTTP/1.0에서는 요청과 응답 모두 헤더가 포함되어 바디와 헤더를 분리할 필요가 생겼다.

0개의 댓글