😒 저 저 저 개념없는 나/🌐 네트워크

[네트워크] HTTP | URI | 요청 응답

우주수첩 2024. 11. 21. 13:46
728x90

# URI 구조

Scheme

  • 프로토콜 명시
  • 웹 : HTTP, HTTPS

 

도메인 ;Domain

  • 통신할 서버의 도메인 명 | IP주소

 

포트 ;Port

  • 통신을 위해 연결된 서버 호스트의 특정 프로세스에 접근하기 위해 필요한 번호

 

경로 ;Path

  • 리소스 경로
  • 계층적 구조
  • /(슬래시) 뒤에 있는거

 

파라미터 ;Parameter

  • ==쿼리 스트링
  • 웹 서버로 보내는 keu-value 형태의 문자열 데이터
  • ? 뒤에 있는거
  • &기호로 구분 -> 여러 개 존재 가능

 

Fragment == 해시태그(;Hashtag) == 앵커(;Ancher)

  • 메인 리소스 내에 존재하는 서브 리소스에 스크롤 없이 바로 접근 시 사용
  • 서버에 전송하는 정보 x

 

# 요청&응답

 

1. 요청 메소드

GET : 받을랭

  • 특정 리소스의 표시를 요청.
  • 데이터를 받기만 함

POST : 로그인 할랭 / 만들랭

  • 특정 리소스에 엔티티 제출 시 사용
  • 서버 상태 변화 | 부작용 일으킴
  • 본문 내용(body)에 대한 명시가 필요
  • +) POST요처을 URI의 파라미터를 이용해 전송하면 보안상의 문제가 발생한다. 

PUT/PATCH : 바꿀랭

  • 목적 리소스의 모든 현재 표시를 요청 Payload로 변경
  • 리소스 부분만 수정하는데 사용
  • 본문 내용(body)에 대한 명시가 필요

DELETE : 지울랭

  • 특정 리소스 삭제

더 많은 요청 메소드 정보: https://developer.mozilla.org/ko/docs/Web/HTTP/Methods

 

 

2. 응답

  상태코드 상태 의미
2xx : ㅇㅋ 굳.
성공 응답
200 ㅇㅋ 요청이 성공적으로 됨
성공의 의미는 HTTP 메소드에 따라 달라짐
201 Created 요청 성공
새로운 리소스 생성
POST | 일부 PUT 요청에 응답
3xx : 다른데로 바꿔드림
리다이렉션 
301 Moved Permanently 요청한 리소스의 URI가 변경되었음
새로운 URI가 주어질 것 아마듀?
4xx : 아 님 왜 이상하게 보내셈 ;
클라이언트 에러 응답
400 Bad Request 잘못된 문법으로 인해 서버가 요청을 이해할 수 없음
401 Unauthorized 비인증
403 Forbidden 콘텐츠에 접근할 권리를 가지고 있지 않음
서버는 클라이언트가 누구인지 알고 있음.
404 Not Found 요청받은 리소스를 찾을 수 없음
405 Method Not Allowed 요청한 메소드를 서버에서 알고 있지만 제거되어 사용할 수 없음.
5xx : ㄱㄷㄱㄷ 나 이상함 ㄱㄷ ;
서버 에러 응답
500 Internal Server Er 서버가 처리 방법을 모르는 상황
502 Bad Gateway 서버가 요청을 처리하는데 필요한 응답을 얻기 위해 게이트웨이로 작업하는 동안 잘못된 응답을 수신
503 Service Unvailable 서버가 요청을 처리할 준비가 되지 않음.

 

 

더 많은 상태 코드 :
https://developer.mozilla.org/ko/docs/Web/HTTP/Status

 

 


 

# HTTP; Hypertext Transfer Protocol

  • 클라이언트 서버 구조
  • 클라이언트는 서버에 요청을 보낸 후 대기 / 서버는 요청 결과를 만들어서 응답
  • 무상태 ; Stateless

 

 

# Stateful & Stateless

 

Stateful :서버가 클라이언트의 이전 상태 보존

A: 튀김소보로 6개입 한 박스에 얼마에요?

B: 10000원입니다

 

A: 2세트 주세요

B : 2만원 입니다. 결제 어떻게 하실건가요?(튀김소보로 구매 수량 유지)

 

A: 카드로 할게요

B: 결제 완료 되었습니다.(튀김소보로 주문 수량 , 결제 수단 상태 유지)

 

 

Stateless : 서버가 클라이언트의 이전 상태 미보존 ; 문맥이 먼데 ㅇㅅㅇ? 모르눈뒝 ?

A: 튀김소보로 6개입 한 박스에 얼마에요?

B: 10000원입니다

 

A: 2세트 주세요

B : 머를여?? ㅇㅅㅇ???

 

A: 튀김소보로요...ㅇ ㅡ ㅇ

B: 몇 개 구매하시는 지, 결제수단이 어떻데 되는지 한 번에 얘기 해 주세요!

 

 

# 상태 유지 방법

1. 쿠키

  • 만료 기간이 있는 클라이언트 단에 저장하는 작은 텍스트 파일
  • 서버와 클라이언트가 주고 받은 내역을 기억하고 불러올 수 있는 역할 수행

2. 웹 스토리지

  1. 로컬스토리지
    • 데이터 영구 저장 가능
  2. 서버세션 
    • 브라우저 탭/윈도우가 닫히면 스토리지 초기화

 


 

728x90