HTTP

Ryeokyeong Hong·2022년 3월 30일
1

VUE

목록 보기
1/1

HTTP란?

  • WWW 상에서 정보를 주고 받을 수 있는 프로토콜.
  • 주로 HTML 문서를 주고 받는곳에 쓰이며, TCP와 UDP를 사용.
  • 애플리케이션 레벨의 프로토콜 TCP/IP위에서 작동.
  • 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜 - 웹브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면, 서버는 요청에 맞는 응답값을 클라이언트에게 전달하게 됨.
  • 사용 포트 기본 번호 : 80

HTTP 특징

HTTP는 연결 상태를 유지 하지 않는 프로토콜.

클라이언트(사용자 에이전트)

  • 사용자를 대신하여 동작하는 모든 도구를 뜻함.
  • 브라우저는 (항상) 클라이언트의 역할하고 브라우저는 절대 서버가 될 수 없음.
    ex) 브라우저는 페이지에 나타날 HTML 문서를 요청 >> 스크립트/이미지/비디오/CSS 등을 가져옴 >> 리소스들을 혼합해 웹페이지에 표시.

서버(웹 서버)

  • 통신 채널 반대편에는 클라이언트의 요청을 받아서 요청에 대한 정보를 제공하는 서버가 존재함.
  • 요청에 대한 답을 HTTP 메세지(HTTP message)라고 함.

요청 : client -> server
응답 : server -> client

  • 장점 : 심플한 상태라서 전산 자원이 적게 듬.
  • 단점 : 연결이 지속적이지 않기에 클라이언트와 연결 종류 후 추가적인 클라이언트 요청시,
    어떤 클라이언트의 요청인지 모름 -> 다수의 클라이언트 요청시 각각의 클라이언트 요청을 구분할 수 없어 제대로 된 응답의 데이터를 전송 할 수 없음.
  • HTTP는 연결 상태를 유지하지 않는 프로토콜이라서 요청/응답 방식으로 동작함.

Request (요청)

  • 클라이언트가 서버에게 연락하는 것.
  • 서버에 요청에 대한 정보를 담아서 요청함.

Request Method (요청의 종류)

  • GET : 자료를 요청할 때
  • POST : 자료의 생성을 요청할 때
  • PUT : 자료의 수정을 요청할 때
  • DELETE : 자료의 삭제를 요청할 때
**Request HTTP 메세지 
GET https://velog.io/@rkhong HTTP/1.1						//시작줄
User-Agent: Mozilla/5.0 (Window NT 10.0; win64; x64) ...	//헤더
Upgrade-Insecure-Requests: 1
  • 시작줄
    메서드 구조 버전으로 구성.

    GET: HTTP Method
    https://velog.io/@rkhong : 사이트 주소
    HTTP/1.1 : HTTP 버전
  • 헤더
    요청에 대한 정보를 담고 있음.
    User-Agent, Upgrade-Insecure-Requests 등

  • 본문 (헤더에서 한 줄 다음)
    요청을 할 때 함께 보낼 데이터를 담음.
    예시의 경우 단순 주소로만 요청을 보내고 있으며 따로 데이터를 담지 않아서 본문이 비어있음.

Response (응답)

  • 서버가 요청에 대한 답변을 클라이언트에게 보내는 것.

Status Code (상태 코드)

  • 1XX (조건부 응답) - 요청을 받았으며 작업을 계속함.
  • 2XX (성공) - 클라이언트가 요청한 동작을 수신하여 이해하고 승낙했으며 성공적으로 처리함.
  • 3XX (리다이렉션 완료) - 클라이언트는 요청을 마치기 위해 추가 동작을 취해야 함.
  • 4XX (요청 오류) - 클라이언트에 오류가 있음.
  • 5XX (서버 오류) - 서버가 유효한 요청을 명백하게 수행하지 못 함.

Reference

1개의 댓글

comment-user-thumbnail
2022년 3월 30일

좋은 글이네요! 잘봤습니다 :)

답글 달기

관련 채용 정보