[웹개발 로드맵] 3. HTTP

남현우·2022년 6월 22일
0

웹개발 로드맵

목록 보기
3/10

HTTP

HTTP는 Hypertext Transfer Protocol의 약자이다.
이는 Application 계층의 프로토콜이며, 정보 전송을 위해 설계됐다.
웹페이지 로드를 위해 주로 사용되며 일반적으로 client의 요청과 server의 응답으로 진행된다.

HTTP request

앞서 말한 듯, HTTP는 client의 request와 server의 응답으로 진행된다.
여기서 request는 어떠한 정보를 가지고 있어야한다.
1. URL
2. HTTP Method
3. HTTP Header와 Body
실제로 HTTP version type도 포함해야하나 대부분의 http통신 함수에 포함되어 무시하겠다.

HTTP Method

HTTP Method는 가장 일반적으로 GETPOST가 있다.
GET은 웹사이트의 형태로 정보가 반환되는 경우가 많고, POST는 client가 server에게 정보 제출을 목적으로 사용되는 경우가 많다.

가장 쉽게 구분하는 방법은 GET은 URL뒤에 쿼리스트링이라는 이름의 파라미터 덩어리를 묶어 보낸다.
따라서 Https://www.example.com/param?test1=1&test2=2와 같은 방식으로 URL이 있을 때,
param?test1=1&test2=2라는 쿼리스트링을 통해 현재 내가 보는 웹 페이지는 GET방식을 사용했고 그에 대한 응답으로 온 것이구나 라는 사실을 알 수 있다.

Header와 Body

HTTP 통신을 위해서 server의 URL, Method를 제외하면 Header와 Body가 남는다.
Header만을 사용해서 통신을 할 수도 있기에 Body는 선택적이지만 둘 다 작성하겠다.

Header는 key-value의 데이터 형태를 갖는다.
브라우저의 종류, Body의 content-type, 어떤 데이터를 요청하는지 등 다양한 정보를 포함한다.

Body는 server에 제출하는 데이터를 넣을 수 있다.
content-type을 정하는 것도 자유이지만 json형태를 보편적으로 많이 사용한다.

HTTP response

HTTP request를 받은 server는 client에게 HTTP response를 보낸다.
이때, request와 비슷하지만 다르게 두 가지 정보를 포함한다.
1. 상태코드
2. HTTP Header와 Body
여기서 Header와 Body는 request와 동일한 의미로 받아들여도 되지만 상태코드라는 것을 추가로 전송한다.

상태코드

상태코드란 HTTP request가 어떻게 전송이 됐는지를 알려주는 코드이다.
말 그대로 상태를 의미하며

100번대는 정보를 나타내고,
200번대는 성공을 나타내며,
300번대는 Redirection을,
400번대는 클라이언트 오류를,
500번대는 서버 오류를 나타낸다.

실제로 성공한 HTTP response의 상태코드는 200 OK를 가장 많이 볼 수 있다.

profile
개발 관련 지식을 기록하는 블로그입니다.

0개의 댓글