[네트워크] 11강/ HTTP

Izodam·2024년 4월 30일

네트워크

목록 보기
5/5
post-thumbnail

해당 자료는 따라하면서 배우는 IT/네트워크 기초 강의를 보고 정리한 것입니다.

7계층 프로토콜 HTTP

HTTP 프로토콜

HTML와 JS와 CSS 같은 파일을 웹 서버에게 요청하고 받아오는 프로토콜

HTTPS = HTTP에 보안 서비스 추가한 프로토콜

→ 암호화/복호화 과정이 필요하기 때문에 속도가 느리고, 인증서를 발급하고 유지하기 위한 추가비용이 발생하기 때문에,

개인정보와 같은 민감한 데이터를 주고받아야 한다면(로그인) HTTPS를 사용하고, 노출되어도 괜찮은 단순한 정보 조회만을 처리할 때에는 HTTP를 사용한다.

HTTP 프로토콜의 특징

HyperText Transfer Protocol

www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 애플리케이션에서 사용되고 있음

→ 음성, 화상 등 여러 종류의 데이터를 MIME로 정의하여 전송 가능

Request / Response 동작에 기반하여 서비스 제공

1.0버전이 처음 생기고, 현재는 1.1 버전 사용중임

HTTP 1.0

연결 수립, 동작, 연결 해제의 단순함이 특징임

→ 하나의 URL은 하나의 TCP 연결

→ HTML 문서를 전송 받은 뒤 연결을 끊고 다시 연결하여 데이터 전송

  • 문제점
    • 단순 동작(수립, 동작, 해제)이 반복되어 통신 부하 문제 발생

Untitled

HTTP 1.1

Untitled

HTTP 요청 프로토콜

Untitled

Untitled

  • Request Line Untitled
    • 요청 타입 : GET, POST ,,,
      • GET : Client가 Server로부터 문서를 읽어오려 할 때 사용 → 특정 페이지 요청하면 주소창에 포함되서 보냄
      • POST : Client가 Server에게 어떤 정보를 전송할 때 사용 → 요청을 body에 포함해서 보냄

HTTP 응답 프로토콜

URI

Uniform Resource Identifier

인터넷 상에서 특정 자원(파일)을 나타내는 유일한 주소

→ scheme :// host[:port][/path][?query]

  • scheme : 요청 형식 (7계층 프로토콜)
  • host[:port] : ip주소 or 도메인 주소, port는 생략됨
  • [/path] : 파일 이름, 폴더 이름 (경로)
  • [?query] : 사용자가 전달하는 데이터

응답 프로토콜 구조

Untitled

Untitled

  • 요청 프로토콜은 제일 위에가 Request Line이였지만 응답프로토콜은 Status Line임
  • Status Line Untitled
    • 상태 코드와 상태 문구는 하나의 쌍으로 이루어져 있음

      상태 코드 종류설명
      100~199단순한 정보
      200~299Client의 요청이 성공 (정상적인 통신 완료를 나타냄)
      300~399Client의 요청이 수행되지 않아 다른 URL로 재지정
      400~499Client의 요청이 불완전하여 다른 정보가 필요 (Client 잘못)
      500~599Server의 요류를 만나거나 Client의 요청 수행 불가 (Server 잘못)
    • 200 OK : Client 요청 성공

    • 403 Forbidden : 권한 없는 페이지 요청

    • 404 Not Found : 서버에 없는 페이지 요청

    • 500 Internal Server Error : 서버의 일부가 멈췄거나 설정 오류

    • 503 Service Unavailable : 최대 session 수 초과

HTTP 헤더 포맷

Untitled

일반 헤더

일반적인 정보를 담고 있음

  • Content-Length
    • 메시지 바디 길이 나타냄
  • Content-Type
    • 메시지 바디에 들어있는 컨텐츠 종류
    • ex) HTML 문서는 text/html

요청 헤더

클라이언트 정보를 담고 있음

  • Cookie
    • 서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할
  • Host
    • 요청된 URL에 나타난 호스트명을 상세하기 표시
    • HTTP 1.1은 필수
  • User-Agent
    • Client Program에 대한 식별 가능 정보를 제공
    • 웹, 스마트폰 구별할 때 사용,,,

응답 헤더

서버 정보를 담고 있음

  • Server
    • 사용하고 있는 웹 서버의 소프트웨어에 대한 정보를 포함
  • Set-Cookie
    • 쿠키를 생성하고 브라우저에 보낼 때 사용
    • 해당 쿠키 값을 브라우저가 서버에게 다시 보낼 때 사용함
profile
dog foot (Developer)

0개의 댓글