웹 기본 지식 정리 (1)

YulHee Kim·2021년 9월 1일
0

웹 지식

목록 보기
1/4
post-thumbnail

[참고 강의] 김영한님의
모든 개발자를 위한 HTTP 웹 기본 지식

✏️ URI

"URI는 로케이터(locator), 이름(name) 또는 둘다 추가로 분류될 수 있다"

URI 단어 뜻

  • Uniform : 리소스 식별하는 통일된 방식
  • Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음)
  • Identifier : 다른 항목과 구분하는데 필요한 정보

scheme://[userinfo@]host[:port][/path][?query][#fragment]
https://www.google.com:443/search?q=hello&hl=ko

1. URL host

  • 호스트명
  • 도메인명 또는 IP 주소를 직접 사용가능

2. URL PORT

  • 포트, 일반적으로 생략
  • 생략시 http는 80 https는 443

3. URL path

  • 리소스 경로, 계층적 구조

4. URL query

  • key=value 형태
  • ?로 시작하고, &로 추가 가능
  • ex) ?keyA=valueA&keyB=valueB
  • query parameter, query string 등으로 불림
  • 웹서버에 제공하는 파라미터, 문자 형태

5. URL fragment

  • html 내부 북마크 등에 사용
  • 서버에 전송하는 정보 아님

✏️ HTTP

HTTP 특징

  • 클라이언트 서버 구조
  • 무상태 프로토콜(스테이스리스), 비연결
  • HTTP 메시지
  • 단순함, 확장 가능

클라이언트 서버 구조

  • Request Response 구조
  • 클라이언트는 서버에 요청을 보내고, 응답을 대기
  • 서버가 요청에 대한 결과를 만들어서 응답

무상태 프로토콜

  • 서버가 클라이언트의 상태를 보존X
  • 장점: 서버 확장성 높음(스케일 아웃)
  • 단점: 클라이언트가 추가 데이터 전송

Stateless 실무 한계

  • 모든 것을 무상태로 설계할 수 있는 경우도 있고 없는 경우도 있다.
  • 무상태 예) 로그인이 필요 없는 단순한 서비스 소개 화면
  • 상태 유지 예) 로그인
  • 로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지
  • 일반적으로 브라우저 쿠키와 서버 세션등을 사용해서 상태 유지
  • 상태 유지는 최소한만 사용

✏️ HTTP 메서드

HTTP 메서드 종류

  • GET : 리소스 조회
  • POST : 요청 데이터 처리, 주로 등록에 사용
  • PUT : 리소스를 대체, 해당 리소스가 없으면 생성
  • PATCH : 리소스 부분 변경
  • DELETE : 리소스 삭제

GET

  • 리소스 조회
  • 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달
  • 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지 않음
  1. 메시지 전달 + 서버 도착

  2. 응답 데이터

POST

  • 요청 데이터 처리
  • 메시지 바디를 통해 서버로 요청 데이터 전달
  • 서버는 요청 데이터를 처리
    (메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능 수행)
  • 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용

PUT

  • 리소스를 대체
    리소스가 있으면 대체, 리소스가 없으면 생성 -> 덮어버림
  • 클라이언트가 리소스를 식별
    클라이언트가 리소스 위치를 알고 URI 지정, POST와 차이점

PATCH

  • 리소스 부분 변경

DELETE

  • 리소스 제거

HTTP 메서드 속성

안전, 멱등, 캐시가능


이어 올리겠숩니당

profile
백엔드 개발자

0개의 댓글