HTTP

임기범·2021년 10월 15일

의미

HyperText : 문서와 문서가 링크로 연결 되어 있음 (웹 문서)
Transfer : 전송하다
Protocol : 컴퓨터끼리 어떻게 HTML 파일을 주고 받을지에 대한 소통 방식 약속

특징

  1. Request 요청, Response 응답

  2. Stateless (상태 없음)

HTTP 개별 통신은 독립이어서 과거의 HTTP 통신의 결과(상태)를 보존 하지 않는다, 통신마다 사전에 필요한 모든 정보(토큰)를 담아서 요청을 보내야 한다

장점

  1. 연결을 유지하지 않을때도 응답과 요청을 처리한다 (요청에 맞게 응답을 한 후에 연결을 끊는다)

  2. HTTP는 이전의 상태정보나 현재 통신의 상태가 남아있지 않기 때문에 쓸데없는 자원의 낭비를 줄일 수 있다

출처 : https://thiago6.tistory.com/60

Request 메세지 구조

StartLine

요청의 첫번째 줄

HTTP method : 요청이 의도한 액션을 정의
Request target : 요청이 전송되는 목표 url
HTTP version : HTTP 버전
ex) GET/login HTPP/1.1

Headers

요청의 메타데이터(데이터 정보를 담은 데이터)를 담고 있는 부분

{key : value} 형태

ex) Headers : {
Host : www.lim337slaa.com,
UserAgent : Chrome,
Content-Type : application/json,
Content-Length : 50
}

Body

요청의 실제 내용(요청 메소드에 따라 존재하지 않을 수 있음)

ex) Body : {
"Username" : "lim337slaa",
"Password" : "lim337slaa"
}

Response 메세지 구조

Status Line

응답의 첫번째 줄 (상태를 나타냄)

HTTP version : HTTP 버전
Status Code : 응답 상태 코드
Status Text : 응답의 상태를 간략히 설명하는 텍스트
ex) HTTP/1.1 404 Not Found

Headers

응답의 메타데이터를 답고 있는 부분

{key : value} 형태

ex) Headers : {
Host : www.lim337slaa.com
User-Agent : chrome
Content-Type : application/json
Content-Length : 50
}

Body

응답해줄 데이터 (요청 메소드에 따라 존재하지 않을 수 있음)

ex) Body : {
"message" : "success",
"token" : "aaaaaaaaaaa"
}

HTTP Request Methods

GET

데이터를 받아올때 사용, 웹페이지에 접속해서 필요한 데이터를 불러올때 사용

POST


데이터 생성, 수정시 사용(Body 내용이 핵심)
ex) 회원가입, 장바구니 넣기

DELETE


서버에 저장된 특정 데이터를 삭제할때 사용

HTTP 상태 코드


Success


200 : OK
201 : CREATED

Error


400 : Bad Request
401 : Unauthorized
403 : Forbidden
404 : Not Found

Server Error


500 : Internal Server Error
profile
95년생 초훈남

0개의 댓글