세모이
개발 계발
세모이
전체 방문자
오늘
어제
  • 분류 전체보기 (85) N
    • 알고리즘 (1)
    • 자바스크립트 (29)
    • 리액트 (10)
    • HTML&CSS (2)
    • TIL (26)
    • 파이썬 (8)
    • Dev (1)
    • 데일리 (5) N
      • 2023 (3)
      • 2025 (2) N
    • 에러일기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바스크립트 프로퍼티 어트리뷰트
  • 자바스크립트 함수와 일급 객체
  • 자바스크립트 전역 변수의 문제점
  • const let 키워드와 블록레벨 스코프
  • 시멘틱 태그
  • 자바스크립트 빌트인 객체
  • 리액트 key
  • 개발자 도구 Network
  • 자바스크립트 생성자 함수에 의한 객체 생성
  • 자바스크립트 strict mode
  • 모던 자바스크립트 deep deive
  • 모던 자바스크립트
  • 함수
  • 자바스크립트
  • html 신기한 태그
  • 모던 자바스크립트 deep dive
  • &&연산자
  • 자바스크립트 프로토타입
  • 자바스크립트 깊은 복사 얕은 복사
  • 옵셔널 체이닝

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
세모이

개발 계발

TIL

[TIL] HTTP ver.1

2022. 1. 7. 16:45
반응형

📌 HTTP란?

하이퍼 텍스트를 빠르게 교환하기 위한 프로토콜의 일종으로, 서버와 클라이언트 사이에서 어떻게 메시지를 교환할지를 정해놓은 규칙

HyperText - 문서와 문서가 링크로 연결되어 있음을 뜻함

Transfer - HTML로 만든 웹페이지 문서(파일)을 보낸다

Protocol - 컴퓨터끼리 어떻게 HTML 파일을 주고 받을 지에 대한 소통 방식 또는 약속

쉽게 생각하면 웹에서 통신을 할 때 어떤 형식으로 통신을 하자고 정해놓은 약속

📌 HTTP 특징

  • connectionless - http 통신은 리소스 낭비를 피하기 위해 연결을 유지하지 않는 것을 기본 동작으로 가진다.
  • stateless - Http 개별 통신은 모두 독립적이어서, 과거의 HTTP 통신의 결과(상태)를 보존하지 않는다. 매 통신마다 사전에 필요한 정보를 담아서 요청을 보내야 한다.

📌 HTTP 메시지

HTTP는 요청(Request)과 응답(Response)으로 구성되어 있고, 클라이언트가 요청을 하면 서버가 응답을 하는 구조이다.

http-message

🚀 Request

요청(Request)은 클라이언트가 서버로 전달하는 메시지

Request는 요청 라인(Request line), 요청 헤더(Request Headers), 공백라인, 요청 바디(Request Body)로 나뉜다.

요청 라인 : 요청의 첫번째 줄 / HTTP Method, URI, HTTP version로 구성되어 있음

  • HTTP Method : 해당 요청이 의도한 액션을 정의한 부분
  • HTTP Request Methods
    • GET : 데이터를 받아오기만 할 때 사용 / 웹페이지에 접속해서 필요한 데이터를 불러올 때 사용
    • POST : 데이터를 생성/수정할 때 사용 , Body에 담는 내용이 핵심!
    • DELETE : 서버에 저장된 특정 데이터를 삭제할 때 사용
  • URI : 해당 request가 전송되는 목표 url
  • HTTP version : HTTP 버전, 주로 1.1버전이 널리 쓰인다.

요청 헤더: 해당 요청에 대한 추가 정보를 담고 있는 부분

  • Host: 클라이언트가 요청한 도메인 정보
  • Accept: 웹 서버로부터 수신되는 데이터 중 웹 브라우저가 처리할 수 있는 데이터의 형식 정의
  • User-Agent: 사용자 웹 브라우저 종류 및 버전 정보
  • Cookie: 클라이언트 로컬에 저장되는 key-value쌍의 데이터 파일
  • Content-Type: 해당 요청이 보내는 메시지 body 타입
  • Authorization: 회원의 인증/인가를 처리하기 위한 로그인 토큰
  • Referer: 경유한 웹 사이트에 대한 정보

요청 바디: 클라이언트가 서버에 실제 요청한 내용

🚀 Response

응답(Response)는 요청에 대한 서버의 답변이다.

Response는 응답 라인(request line), 응답 헤더(Response Headers),공백라인, 응답 바디(Response Body)로 나뉜다.

응답 라인: 응답의 상태 줄 / HTTP Version, Status Code, 로 구성

  • HTTP Version : 요청의 HTTP버전과 동일
  • Status Code : 응답 메시지의 상태 코드
  • HTTP Response status code
    • Success - 200 : ok / 201 : Created
    • Error - 400 : Bad Request/ 401 : Unauthorized / 403 : Forbidden / 404 : Not Found
    • Server Error - 500 : Internal Server Error
  • Status Text : 응답 메시지의 상태를 간략하게 설명해주는 텍스트

응답 헤더: 요청의 헤더와 동일하며 응답의 추가 정보를 담고 있다.

응답 바디: 실제 응답받은 메시지(데이터)

출처 : https://developer.mozilla.org/ko/docs/Web/HTTP
반응형

'TIL' 카테고리의 다른 글

[TIL] 깃허브 프로젝트 초기 세팅  (0) 2022.01.14
[TIL] 리액트 컴포넌트의 key  (0) 2022.01.11
[TIL] Git 기초  (0) 2022.01.05
[TIL] 개발자 도구 Network  (0) 2021.12.31
[CSS] Display, Position  (0) 2021.12.29
    'TIL' 카테고리의 다른 글
    • [TIL] 깃허브 프로젝트 초기 세팅
    • [TIL] 리액트 컴포넌트의 key
    • [TIL] Git 기초
    • [TIL] 개발자 도구 Network
    세모이
    세모이
    개발 공부!

    티스토리툴바