mang_dev
맹꽁거리는 개발자
mang_dev
전체 방문자
오늘
어제
  • 분류 전체보기 (185)
    • Frontend (2)
      • Next.js (1)
    • Backend (3)
      • GraphQL (2)
    • Book (1)
      • 기타 (1)
    • Old (177)
      • 알고리즘 퍼즐 (1)
      • 백준 (131)
      • 프로그래머스 (0)
      • Codility (15)
      • LeetCode (7)
      • Codewars (1)
      • Codeforces (0)
      • Django (6)
      • React (2)
      • Naver Map Api (3)
      • Web UI (4)
      • Introduction to Cloud (2)
hELLO · Designed By 정상우.
mang_dev

맹꽁거리는 개발자

Old

HTTP Request & Response

2020. 10. 18. 23:03

HTTP Request & Response

  • HTTP Message는 기본적으로 Start-Line, Header, Body로 구성됨

  • HTTP Request

    • Start-Line

      • "HTTP Method / Request Target / HTTP Version"으로 이루어짐
      • Request Method : HTTP Request가 발생했을 때 서버가 해당 요청에 대해 수행해야 하는 액션
      Method Name Action
      GET - 간단한 데이터를 서버로 요청(SELECT)해서 받아올 때 사용
      - 캐싱(한 번 접근 후, 다음 요청을 위해 데이터를 저장하는 방식)을 사용
      - POST에 비해 속도가 빠르지만, 데이터를 URL 뒤에 붙여서 전송하기 때문에 노출됨
      - HTTP Request의 body와 content-type은 비어 있음
      PUT - 요청 받은 자원을 수정(UPDATE)할 때 사용
      POST - 데이터 생성/수정/삭제/전송에 사용
      - HTTP Request의 body에 데이터를 넣어서 보낼 수 있음
      - 요청 받은 자원을 생성(CREATE)하는 방식
      - URL 주소에 추가하는 방식이 아니기 때문에 GET에 비해 많은 데이터를 전송 가능
      DELETE - 요청된 자원을 삭제(DELETE)할 때 사용
      - 안정성 문제로 대부분 비활성화되어 있음
      OPTIONS - 웹 서버에서 지원하는 메소드의 종류를 확인하기 위해 사용
      • Request Target : HTTP Request가 전송되는 목표 주소
      • HTTP version : 버전에 따라 메시지 구조나 데이터가 다를 수 있기 때문에 명시
    • Header

      • HTTP Request에 대한 정보
      • Key와 Value로 이루어짐
      Header Type Description
      Host 요청이 전송되는 Target의 호스트 URL 주소
      User-Agent 요청을 보내는 클라이언트 정보
      Accept 해당 요청이 받을 수 있는 body data type(모든 타입 : */*로 사용)
      Connection - 요청을 처리한 이후, 연결을 유지할 것인지의 정보
      - 요청이 들어올 때마다 새로운 연결은 비효율적이기 때문에 요청이 계속 있는 경우엔 연결을 유지하는 것이 좋음
      - Keep-alive : 연결 유지 / Close : 연결 해제
      Content-Type 요청이 보내는 body type
      Content-Length body의 크기
    • Body

      • HTTP Request가 전송하는 데이터를 저장함
      • 전송 데이터가 없다면 body는 비어있음
  • HTTP Response

    • Status-Line
      • "HTTP version / Status Code / Status Text"로 이루어짐
      • Status Code : 응답 상태를 나타내는 코드(ex : 404 - 요청한 페이지가 서버에 존재하지 않음)
      • Status Text : 응답 상태를 간략하게 나타낸 텍스트
    • Header
      • User-Agent(Response에서는 Server 헤더 사용)를 제외하고, 나머지 부분은 HTTP Request와 동일
    • Body
      • HTTP Request와 동일
저작자표시 (새창열림)

'Old' 카테고리의 다른 글

WAS  (0) 2020.11.12
웹 서버  (0) 2020.11.12
Browser  (0) 2020.10.20
웹의 동작  (0) 2020.10.18
    'Old' 카테고리의 다른 글
    • WAS
    • 웹 서버
    • Browser
    • 웹의 동작
    mang_dev
    mang_dev

    티스토리툴바