HTTP 기본

윤남주·2022년 1월 7일
0

wecode archive

목록 보기
9/13
post-thumbnail

HTTP

HyperText Transfer Protocol
HTML문서를 전송하는 통신규약

  • HyperText : 문서와 문서가 링크로 연결되어 있음
  • Transfer : HTML로 만든 웹페이지 문서를 전송한다
  • Protocol : 컴퓨터 간 통신의 방식/규약


HTTP의 특징

1. Request and Response

모든 HTTP 통신은 메시지 형식의 요청응답으로 이루어짐

💡 메시지 형식의 단점인 보안문제를 보완하여 HTTPS가 생겨남


2. Stateless

HTTP 개별 통신은 모두 독립적 → 이전 통신의 상태를 보존하지 않음
= Stateless = 무상태

Stateful의 장단점

👍 장점 : 이전 요청의 상태를 저장하고 있어 요청이 간편해짐
👎 단점 : 요청을 받는 서버가 달라진다면 에러 발생, 상태를 저장할 공간 필요

Stateless의 장단점

👍 장점 : 다른 서버가 붙어도 처리할 수 있음. 트래픽이 늘어나도 서버만 늘리면 핸들 가능. 오류가 적음.
👎 단점 : 매번 필요한 요청을 전부 정확히 전송해야함

💡 매번 해야하는 요청은 토큰(Token)으로 저장하여 처리 (예. 로그인 값)



메시지 구조

Request Message

1) Start Line

  • HTTP Method : 요청의 종류

  • Request Target : 요청이 전송되는 위치 (url)

  • HTTP version (버젼에 따라 메시지 구조가 다르기 때문)
    💡 대부분의 경우 HTTP 1.1

2) Headers
요청의 메타데이터, 객체 형태의 데이터.
Host, User-Agent(브라우저), Content-Type(콘텐츠 형식), Content-Length 등이 포함

3) Body
실제 요청 내용
💡 요청 메소드에 따라 없을 수도 있음 (GET 등)


Response Message

1) Status Line

  • HTTP version

  • Status Code : 응답이 잘 되었는지 나타냄

  • Status Text : status code를 간략히 설명하는 텍스트

2) Headers

3) Body



HTTP 요청 메소드

요청 메소드의 종류

GET
데이터를 받아오기만 할 때

POST
데이터를 생성/수정할 때 → body에 담는 내용이 핵심
✨ 사실 POST는 GET, DELETE 요청까지 다 할 수 있음

DELETE
서버의 특정 데이터를 삭제할 때


요청 메소드의 Status Code

🟢 Success

200 : OK
201 : Created (등록이 잘 되거나, 삭제가 잘 됐을 때)

🟡 Error

400 : Bad Request (대부분 프론트에서 제대로 잘 안한 경우)
401 : Unauthorized (권한 없음, 토큰 없음)
403 : Forbidden (권한 없음, 토큰 있어도 권한 없음)
404 : Not Found (없는 페이지, 데이터)

🔴 Server Error

500 : Internal Server Error (서버 터짐)





☑️ Check Points

  • HTTP의 Stateless 특징

  • Request와 Response의 구조

  • HTTP의 Request Method 종류

  • 대표적인 Status Code

profile
Dig a little deeper

0개의 댓글