티스토리 뷰

계층형 프로토콜 : 네트워크 프로토콜은 계층 구조를 가지고 있다.


계층 역할
애플리케이션 계층 HTTP,SMTP,DNS
트랜스포트 계층 데이터 무결성 보증, 커넥션 연결 (TCP, UDP)
인터넷 계층 네트워크에서 데이터를 주고받음, 패킷 단위로 데이터 통신 (IP)
네트워크 인터페이스 계층 물리적인 케이블, 네트워크 어댑터 (이더넷)

HTTP 메세지


메세지 구조 : start line(request line, status line) + header + blank line + body

  1. 클라이언트 : 요청 메세지 구축 - 요청 메세지 송신
  2. 서버 : 요청 메세지 수신 - 요청 메세지 해석 - 애플리케이션 프로그램으로 처리 위임 - 결과 취득 - 응답 메세지 구축 - 응답 메세지 송신
  3. 클라이언트 : 응답 메세지 수신 - 응답 메세지 해석 - 처리

STATE


State = 애플리케이션의 상태 = session 상태

Stateful

  • 서버가 클라이언트 애플리케이션 상태를 기억
  • 서버가 여러개면 복수 서버에 상태정보를 동기화 해야하기 때문에 오버헤드가 발생한다.
  • 규모 확장이 어렵다.

Stateless

  • 클라이언트가 요청 메세지에 필요한 정보를 모두 포함시킨다.
  • 서버 시스템이 단순해지고, 시스템을 확장시키는 것이 간단하다.
  • 송신할 데이터 양이 많아진다. 인증 등 처리 반복 필요 (퍼포먼스 저하)
  • 네트워크 트러블이 발생했을 때 요청 처리 여부 확인이 어렵다.

HTTP 메서드


  1. GET

    • 리소스 취득
    • 지정한 URI의 정보를 가져온다.
  2. POST

    • 서브 리소스 작성
    • 기존 리소스에 데이터 추가
    • 클라이언트는 리소스의 URI를 지정할 수 없다.
    • 다른 메소드로 대응할 수 없는 처리 실행(EX. 긴 키워드)
  3. PUT(U)

    • 리소스 갱신
    • 리소스 작성
    • 리소스의 URI를 클라이언트가 결정
  4. DELETE : 리소스 삭제

멱등(GET,PUT,DELETE) : 조작을 몇번을 반복해도 결과가 동일

안전(GET) : 조작 대상의 리소스의 상태를 변화시키지 않는 것.

STATUS CODE


  1. 1XX : 처리중
  2. 2XX : 성공
    • 200 OK
    • 201 Created
  3. 3XX : 리다이렉트
    • 301 Moved Permanently
    • 303 See Other
  4. 4XX : 클라이언트 에러
    • 400 Bad Request
    • 401 Unauthorized
    • 404 Not Found
  5. 5XX : 서버 에러
    • 500 Internal Server Error
    • 503 Service Unavailable

HTTP HEADER


Date : 날짜와 시간
Content-Type : 메시지의 바디 내용이 어떠한 종류인지 미디어 타입으로 나타낸다.
Accept : 클라이언트가 처리할 수 있는 미디어 타입을 서버에 전달
Accept-Charset : 클라이언트가 처리할 수 있는 문자 인코딩을 서버에 전달
Accept-Language : 클라이언트가 처리할 수 있는 언어 태그 서버에 전달
Transfer-Encoding : Chunked를 지정하면 사이즈를 모르는 바디를 조금씩 전송할 수 있다.
캐시 : 서버로부터 가져온 리소스를 로컬 스토리지(하드디스크 등)에 저장하여 재사용하는 방법
Pragma : 캐시를 억제한다. (no-cache - 캐시하지 말 것)
Expires : 캐시의 유효기간

Reference


책 : 웹 개발자를 위한 웹을 지탱하는 기술 (야마모토 요헤이 저)

'dev_note > TIL' 카테고리의 다른 글

Javascript로 UTC Date 구하기  (0) 2021.08.06
SQL 레벨업  (0) 2021.07.11
프록시  (0) 2021.07.10
데코레이터 패턴  (0) 2021.07.10
(최근본상품2)Problem Solving  (0) 2019.02.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함