I leaned/Etc

HTTP기본개념/ 요청,응답

윤재에요 2023. 5. 11. 13:32

HTTP

  • Hyper Text Transfer Protocol
  • 프로토콜
    • 서로간의 통신을 위한 약속 규칙
    • 주고 받을 데이터에 대한 형식을 정의한 것
  • 단순하고 읽기 쉽다.
  • 텍스트 기반의 프로토콜
  • stateless(상태를 유지하지 않는다.)- 클라이언트 정보를 저장X → 같은 컴퓨터인지 구별 못함 → 이를 보완하기위해 쿠키,세션 사용
    • 헤더는 대소문자 구분x, :문자 바로 뒤 공백 무시확장 가능하다. → 커스텀 헤더 추가 가능

 

  • HTTP 응답 메시지
    • 상태코드( HTTP/1.1 200 OK) 에서 중간 숫자가 코드, OK는 설명, 설명은 바뀔 수 있다.
    • 100번대- 클라이언트_서버간의정보통신 200번대- 성공 300번대- 다른 URL로 요청해라 400/500번대- 에러 
    • HTTP에서 헤더와 바디를 빈줄로 구분한다.

  • HTTP 요청 메시지
    • GET
      • 리소스를 받아오기 위한 요청
      • 헤더만 있고 바디가 없다.
      • url에 쿼리스트링으로 요청내용을 보낼 수 도 있다 (소용량)
      • URL에 데이터가 노출되므로 보안에 취약
      • 데이터 공유에 유리 ex.검색엔진에서 검색단어 전송에 이용
    • POST
      • 서버에 전송한 데이터를 바디에 담아 보낼 수 있다.
      • 글쓰기, 회원가입, 파일첨부, 로그인 등등
      • 서버에 데이터를 올리기 위해 설계됨
      • 전송 데이터 크기의 제한이 없음(대용량)
      • 보안에 유리, 데이터 공유에는 불리
      • → HTTPS(HTTP+TLS)프로토콜 써야 보안에 유리
    • PUT
      • 데이터 수정요청 (대체수정)
      • 바디에 내용을 담을 수 있다.
      • 부분 수정일 경우 PATCH
    • DELETE
      • 데이터 삭제요청
      • 바디가 없다.