HTTP Protocol 이해

urimee·2023년 2월 15일
0

FE 개발의 이해

목록 보기
1/1

우리가 일상생활을 하는 중에서도 수많은 규약들이 존재한다.

횡단보도를 건너기 위해서 "초록불에 건너고 빨간불에 멈춰서는 것"처럼 출발지로부터 목적지에 도착하기 위해서 지켜야하는 많은 규칙들이 있다.

이와 같이 컴퓨터 속 세상에서도 출발지로부터 목적지까지 도달하기위해 지켜야 할 규칙이 있는데 그것을 protocol이라고 한다.

이번 시간에는 특히 웹에서 사용하는 protocol인 HTTP Protocol에 대해 포스팅하도록 하겠다.


0. HTTP의 정의?

HTTP 프로토콜이란 웹과 사용자가 통신하기 위해 지켜야 할 규약을 의미한다.

웹이라고 하면 흔히들 www.어쩌구를 많이 떠올리는데 단순히 www가 인터넷을 의미하는 것은 아니다.

물리적인 하나의 컴퓨터에는 여러 개의 서버가 동작할 수 있고, 각각의 서버들은 포트라는 값으로 구분해서 동작한다.

  • web : 80

인터넷은 네트워크의 네트워크 (TCP/IP들의 규약으로 네트워크를 형성하고 있다.)


  • HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고받기 위한 프로토콜(규약)이다.
  • 이때 image, 동영상, 텍스트 등 종류를 가리지 않고 전송이 가능하다.
  • HTTP는 stateless protocol이기 때문에, cookie와 같은 기술이 등장하게 되었다.

1. URL (Uniform Resource Locator)

  • 인터넷 상의 자원의 위치를 의미
  • 특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소.

url을 통해 알 수 있는 것들은 다음과 같다.

  1. 프로토콜의 종류
  2. 자원이 있는 서버의 ip 주소, 혹은 domain, port 번호
  3. 자원의 위치
    IP 주소 (eg. 집 주소)
    Port (eg. 집 안에 있는 방)
    => 각 서버들은 port를 하나씩 사용한다. 즉, 각 서버는 하나의 방만 사용할 수 있다는 뜻을 의미한다.

2.HTTP란?


위의 사진은 외워두는 것이 좋다.

1. 반드시 client가 먼저 원하는 서버에 접속해야한다.

2. 다시 client가 요청해야한다.

~> client가 서버에 접속하고 요청이 전제조건인셈이다.

3. HTTP 요청 메세지

정해진 규칙이 있다.

  • 요청 헤더와 요청 바디로 이루어져 있음.
GET /servlet/query?a=10&b=90 HTTP/1.1

GET : 요청 메써드
/servlet/query?a=10&b=90 : 요청하는 자원의 위치를 명시해주는 부분
HTTP/1.1 : HTTP 프로토콜의 버전

  • GET 방식은 요청 바디가 없다.
  • PUT이나 POST방식일때만 요청 바디를 사용한다.

4. HTTP 응답 메세지

헤더 부분, 빈줄 부분, 응답 바디 부분으로 나누어져있음.

HTTP/1.1 200 OK

5. 요청 메서드 (client가 요청하는 메세지)

GET : 정보를 요청하기 위해서 사용. (SELECT)

POST : 정보를 밀어넣기 위해서 사용 (INSERT)

PUT : 정보를 업데이트하기 위해서 사용한다 (UPDATE)

DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)

HEAD : (HTTP) 헤더 정보만 요청한다. → 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.


0-1. TCP/IP란?

전공자라면 <컴퓨터 네트워크> 시간에 배울 것임. (포스팅하는 시점으로부터 컴퓨터 네트워크 과목의 지식이 희미해지고 있지만)
짧게 쓰자면 TCP는


0개의 댓글