HTTP 통신이란?
컴퓨터끼리 네트워크 통신을 할 때 여러가지 방식으로 통신이 가능한데, 이를 통틀어서 "통신 프로토콜"이라고 한다
메일은 SMTP 프로토콜, 파일을 전송할 땐 FTP 프로토콜 등이 있다
HTTP 프로토콜은 원래 브라우저가 웹 서버와 통신을 하기 위해 생긴 프로토콜이다
HTTP 통신은 HTTP 프로토콜을 활용한 통신으로, 요청(request)과 응답(response)으로 나뉜다
요청과 응답은 모두 아래와 같은 구조를 같는다
- 요청 라인 : URL, Method 같은 핵심 요청 정보가 들어간다. 요청과 응답에 따라 구성요소가 다르다
- 헤더 : HTTP 관련 여러 설정 값이 들어간다
- Body : 통신에 필요한 데이터가 들어간다 (옵션)
HTTP 요청
HTTP 통신으로 서버에게 정보를 요청하려면 몇가지 규칙을 지켜야 한다
- 어떤 서버에게 요청할 것인지 URL이 있어야 한다 -> 요청 라인
- 어떤 방식으로 통신을 할 것인지 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 요청을 받으면 응답을 해준다
- 응답이 어떤 상태인지를 나타내는 Status Code가 있어야 한다 -> 요청 라인
- 요청 결과를 Body에 담아야 한다
[ Status Code ]
2XX : 정상적으로 응답을 했을 때
4XX : 클라이언트가 요청을 잘못했을 때
5XX : 서버에서 에러가 발생했을 때
[ 대표적인 상태 코드 ]
200 : 정상적으로 응답이 됐다
404 : 해당 URL 요청을 처리할 수 없다
500 : 서버에서 알 수 없는 에러가 발생했다
프론트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1
https://joshua1988.github.io/web-development/http-part1/
'사이드 프로젝트 > 인프런 - 올인원 개발 클래스' 카테고리의 다른 글
클라이언트와 서버 (0) | 2021.08.11 |
---|---|
Javascript 비동기 처리 (0) | 2021.08.10 |
Javascript 콜백과 익명함수 (0) | 2021.08.10 |
javascript 공부하기 (0) | 2021.08.08 |
flex 레이아웃 (0) | 2021.08.04 |
댓글