본문 바로가기
사이드 프로젝트/인프런 - 올인원 개발 클래스

HTTP 통신 쉽게 이해하기

by 의정부핵꿀밤 2021. 8. 12.
728x90

HTTP 통신이란?

컴퓨터끼리 네트워크 통신을 할 때 여러가지 방식으로 통신이 가능한데, 이를 통틀어서 "통신 프로토콜"이라고 한다

메일은 SMTP 프로토콜, 파일을 전송할 땐 FTP 프로토콜 등이 있다

HTTP 프로토콜은 원래 브라우저가 웹 서버와 통신을 하기 위해 생긴 프로토콜이다

HTTP 통신HTTP 프로토콜을 활용한 통신으로, 요청(request)응답(response)으로 나뉜다

 

요청과 응답은 모두 아래와 같은 구조를 같는다

  • 요청 라인 : URL, Method 같은 핵심 요청 정보가 들어간다. 요청과 응답에 따라 구성요소가 다르다
  • 헤더 : HTTP 관련 여러 설정 값이 들어간다
  • Body : 통신에 필요한 데이터가 들어간다 (옵션)

 

HTTP 요청

HTTP 통신으로 서버에게 정보를 요청하려면 몇가지 규칙을 지켜야 한다

  1. 어떤 서버에게 요청할 것인지 URL이 있어야 한다 -> 요청 라인
  2. 어떤 방식으로 통신을 할 것인지 Method가 있어야 한다 -> 요청 라인

 

HTTP Method

클라이언트가 서버에게 HTTP 요청을 할 때 URL 주소와 함께 HTTP Method를 정해야 한다

HTTP Method에 따라 서버에서는 어떤 요청인지를 파악할 수 있다

대표적으로는 GET, POST, PUT, DELETE 등이 있다

 

 

GET

일반적으로 정보를 받아올 때 사용하는 Method이다

HTTP 요청을 할 때 메소드를 설정하지 않으면 기본 메소드로 GET이 들어간다

일반적으로 웹 서버에서 웹을 다운받을 때 GET을 사용한다

ex) 웹 서버에서 웹을 다운받을 때, 내 상품 정보들을 받아올 때

 

POST

새로운 자원을 생성할 때 POST를 많이 사용한다

ex) 로그인을 할 때 아이디, 패스워드를 담는다, 아티클을 만들 때 입력한 아티클 정보를 담아야 한다

 

 

HTTP 요청에 정보 담기

[ GET ]

GET 방식은 서버에 데이터를 전송해야 할 때 url 맨 뒤에 query라는 것을 붙인다

query는 key=value 형태로 구성되어 있다

 

[ POST ]

POST도 마찬가지로 URL 뒤에 query를 붙일 수 있다

또한 HTTP의 Body 부분에 데이터를 담을 수 있다

Body는 HTTP 통신에 구조적으로 데이터를 담아 전송할 수 있게 도와준다

 

 

HTTP 응답

서버에서 HTTP 요청을 받으면 응답을 해준다

  1. 응답이 어떤 상태인지를 나타내는 Status Code가 있어야 한다 -> 요청 라인
  2. 요청 결과를 Body에 담아야 한다

[ Status Code ]

2XX : 정상적으로 응답을 했을 때

4XX : 클라이언트가 요청을 잘못했을 때

5XX : 서버에서 에러가 발생했을 때

 

[ 대표적인 상태 코드 ]

200 : 정상적으로 응답이 됐다

404 : 해당 URL 요청을 처리할 수 없다

500 : 서버에서 알 수 없는 에러가 발생했다

 

 

 

 


프론트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1

https://joshua1988.github.io/web-development/http-part1/

 

프런트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1

API 데이터 요청을 위해 꼭 알아야 하는 HTTP 프로토콜의 정의, HTTP Status Code, HTTP Methods 등

joshua1988.github.io

 

728x90

'사이드 프로젝트 > 인프런 - 올인원 개발 클래스' 카테고리의 다른 글

클라이언트와 서버  (0) 2021.08.11
Javascript 비동기 처리  (0) 2021.08.10
Javascript 콜백과 익명함수  (0) 2021.08.10
javascript 공부하기  (0) 2021.08.08
flex 레이아웃  (0) 2021.08.04

댓글