[TIL 23.02.02 -23.02.03] 2일동안의 총정리

이승렬·2023년 2월 3일
0

항해99

목록 보기
22/34
post-thumbnail

일단 어제를 마무리로 자바 알고리즘 주차가 모두 끝났다.

어제 하루종일 깃헙에 지금까지 배웠던 것들과 내용들을 저장해두고 그동안 못잤던 잠을 자느라 어제는 TIL을 쓸 수 없었다.

알고리즘을 했던것을 정리하느라 따로 정리할만한 내용들은 없고, 정리한 깃헙에 뭐가 있는지만 파악하겠다.

다음과 같이 일단 자주쓰이는 메서드, 혹은 알고리즘 문제를 풀면서 헷갈렸던 풀이 방식들 같은 경우에 저장을 해두었고, 나중에 코딩테스트를 준비했을때 어려웠던 부분만 보면서 판단하면 좋을 것 같다.

오늘부터 주특기 주차가 시작이 되었다.
주특기 주차에서 오늘 배운 내용들과 궁금했던 점들을 정리하는 시간을 가져보겠다.

Q1. HTTP 란?

  • HTML 과 같은 리소스들을 가져올 수 있도록 해주는 protocol 이다.

  • 간단히 말하자면 인터넷에서 서버와 클라이언트가 어떻게 데이터를 주고받을지를 정해놓은 규칙이다.

Q2. HTTP를 알아야 하는 이유?

  1. 클라이언트와 서버 모두 HTTP 를 이용하여 통신을 하기 때문이다.

  2. 개발을 하면서 Cross Origin 관련 문제를 높은 확률로 마주하게 되기 때문이다.

Q3. HTTP 특징 3가지.

  1. Client -Server 구조
  • Client 가 Server에 요청을 보내면 Server은 요청에 대한 응답을 한다.

  • 이때 이는 단방향 통신으로, Server는 Client에 요청을 하지 않는다.

  1. 무상태성(StateLess)
  • Server 는 Client의 상태를 저장하지 않는다.
  1. 비연결성
  • HTTP는 실제로 요청을 주고 받을 때에만 연결을 유지하고, 응답을 받은 후에는 연결을 끊습니다.

  • 이때 이유는 연결되어있는 동안 리소스가 낭비 되기 때문이다.

Q4. HTTP 구조와 메세지?

구조

  • 요청 (Request) 과 응답(Response) 으로 구성되어있다.

HTTP Message

  • 클라이언트와 서버간 주고받는 것이다.
  • 클라이언트와 서버는 몇 줄의 텍스트로 이루어진 HTTP 메세지로 데이터를 교환한다.

HTTP Message 기본 구조

  1. Start Line : 실행되어야 할 요청 또는 요청 수행에 대한 성공 또는 실패가 들어간다.
    항상 첫줄에 위치하고, 한줄이다.

  2. HTTP headers : 요청에 대한 설명 또는 메세지 본문에 대한 설명이 들어간다.

  3. Body: 요청과 관련된 내용이 옵션으로 들어가거나, 응답과 관련된 본문이 들어간다.

Q5. HTTP Method

  • HTTP Mehtod 는 요청과 응답 데이터를 전송하는 방식을 말한다.
  • 클라이언트 측에서 서버가 수행하기를 원하는 행동, 즉 서버가 수행해야 할 동작을 지정하는 역할을 한다.
  1. GET
  • 리소스를 조회한다.
  • 데이터를 쿼리 스트링으로 주고받는다.
  • 쿼리 스트링은 키값과 벨류값으로 이루어져 있다.
  1. POST
  • 리소스를 생성한다.
  • 요청 데이터를 요청바디에 담아서 서버에 전달한다.
  • URL에 데이터가 노출되지 않기 때문에 데이터를 노출하면 안되는 경우 (회원가입)에 사용한다.
  • 새로운 데이터를 등록할때 사용한다.
  1. PUT
  • 리소스를 수정한다.
  • 기존에 데이터가 있으면, 대체하고, 없으면 새로 생성한다.
  • 데이터를 대체해야하기 때문에 요청 경로를 구체적으로 지정해주어야 한다.
  1. PATCH
  • 리소스를 수정한다.
  • 데이터의 일부분을 변경하고자 할때 사용한다.
  • 모든 서버에서 PATCH를 지원하지는 않는다.
  1. DELETE
  • 리소스를 삭제한다.
  • 데이터를 삭제한다.
profile
Backend_Developer

0개의 댓글