TIL 25. HTTP

rahula·2021년 5월 29일
0

web

목록 보기
2/3
post-thumbnail

HTTP 통신규약에 대해 알아보겠습니다. 이 글은 MDN을 토대로 작성되었습니다.

HTTP

HTTP?

Hyper Text Transfer Protocol

HTTP는 HTML문서, 이미지, 동영상, 텍스트와 같은 리소스를 주고 받을 수 있도록 하는 통신규약이다. 웹상의 모든 데이터 교환에 대한 것이며 클라이언트 - 서버 사이의 약속이다. 즉, 요청은 웹 브라우저쪽에서 만들어지고 응답은 서버쪽에서 만들어진다.

요청과 응답

클라이언트와 서버는 개별적인 메세지를 교환함으로써 서로 소통한다. 요청 메세지는 클라이언트에 의해 보내지고, 응답 메세지는 서버에 의해 보내진다.

요청을 시작하는 주체는 언제나 브라우저다. 그리고 응답을 보내는 주체인 서버는 브라우저에서 보내는 요청에 대해 응답을 보낸다.

특정한 URL에 대한 하나의 웹페이지를 나타내기 위해, 브라우저는 HTML문서를 요청한다. 그리고는 파일을 파싱하고, 그 과정에서 추가적인 요청을 하게 된다. 예를 들어 CSS, javascript 등등. 그 다음 웹 브라우저는 이 모든 요소들을 조합해서 완성된 하나의 페이지를 나타내게 된다.

요청에 담기는 정보

  1. HTTP 메서드 : GET, POST 등의 방식이 쓰인다. 대부분 클라이언트는 리소스를 받아오길(GET) 원하거나 HTML의 form 값을 보내고(POST) 싶어한다.
  2. 리소스 URL 경로
  3. HTTP 버전
  4. HTTP 헤더 : 서버를 위한 추가적인 정보.

응답에 담기는 정보

  1. HTTP 버전
  2. 상태 코드 : 요청이 유효한지 유효하지 않은지, 그리고 그 이유를 정보를 담고 있다.
  3. 상태 메세지
  4. HTTP 헤더 : 브라우저를 위한 추가적인 정보

stateless

Http 개별 통신은 모두 독립적이다. 과저의 통신 상태를 기록하지 않는다. 서버 디자인을 간단하게 해준다.

토큰

보통 로그인과 같은, 보안상 중요한 정보를 담고 있다. 만료 기간을 정할 수 있다. 갖고 있는 건 client쪽이고, cookie나 storage에 저장한다.

profile
백엔드 지망 대학생

0개의 댓글