[Web]HTTP

meek·2023년 6월 11일
0

TIL

목록 보기
7/24
post-thumbnail

패스트캠퍼스의 'Javascript 코딩테스트 131개 예제 & CS지식으로 끝내기' 강의를 듣고 정리한 내용입니다.

HTTP

  • HyperText Transfer Protocol
  • HTTP란, 웹상에서 데이터를 주고받기 위한 프로토콜
  • 웹 문서를 주고받기 위하여 사용할 수 있다.
  • 웹뿐만 아니라 모바일 앱, 게임 개발에서도 다양한 목적으로 사용되곤 한다.

HTTP 메서드

  • 클라이언트 요청(request)의 목적에 따라 적절한 HTTP 메서드를 사용한다.
  • 어떤 식으로 데이터를 주고 받을지에 대한 일종의 약속을 명시한 정보

대표적인 HTTP 메서드

HTTP 메서드설명사용 예시
GET데이터 조회를 요청특정 페이지 접속, 정보 검색
POST데이터 생성을 요청회원가입, 글쓰기
PUT데이터 수정을 요청회원 정보 수정
DELETE데이터 삭제를 요청회원 정보 삭제
  • 웹 사이트가 완전히 따르지 않는다고 해도, 클라이언트 프로그램과 웹서버 프로그램에서 동일한 형식을 따른다면 동작하는 경우가 있다. 데이터 삭제를 요청할 때 DELETE가 아닌 POST 방식을 사용하도록 웹서버가 개발되어 있을 수도 있다. 이 땐 클라이언트가 적절한 양식을 지켜주기만 한다면, 웹서버에서는 그러한 정보를 목적에 맞게 처리할 수도 있다. 하지만 기본적인 규격은 위의 표이다.

HTTP 메서드 사용 예시

  • 특정한 웹 사이트에 접속하면, 기본적으로 GET 방식으로 호출을 진행한다.
  • 상태 코드(status code)를 이용해 본인의 요청에 대한 결과를 응답 받을 수 있다.
  • 웹 사이트는 대개 HTML, JavaScript, CSS 코드를 반환하며 웹 브라우저는 이를 화면에 출력한다.

HTTP 상태 관리와 세션

  • HTTP는 상태를 저장하지 않는다.(Stateless)
  • 클라이언트는 HTTP로 서버에 연결한 뒤에, 응답을 받으면 연결을 끊어버린다. 👉🏻 서버 입장에서는 접속 유지에 대한 요구가 적어, 불특정 다수를 대상으로 하는 서비스(웹페이지)에 적합
  • 상품 확인 👉🏻 장바구니 👉🏻 결제의 과정이 시스템적으로 상태 정보로 기록되지 않는다.
  • 하지만, 세션을 이용해 원하는 기능이 수행되도록 한다.

Keep Alive 기능

  • HTTP의 무상태성을 보완하기 위한 기능
  • HTTP 1.1 버전부터 keep-alive를 지원
  • 하나의 웹 사이트에 방문하면 대개 수십 개의 파일(CSS, 이미지, HTML, JS)를 제공한다.
  • TCP 통신 과정에서 연결 수행/연결 해제 과정에서 리소스가 많이 소요된다.
  • keep-alive는 이런 파일을 하나씩 받기 위하여 매번 연결을 맺고 끊는 것을 방지한다.
profile
hello, world!

0개의 댓글