💻본 포스팅은 'HTTP 완벽 가이드 : 웹은 어떻게 동작하는가' 책을 보고 작성되었습니다.
[1.1 HTTP: 인터넷 멀티 미디어 배달부]
- HTTP는 신뢰성 있는 데이터 전용 프로토콜 사용으로 데이터가 손상되거나 꼬이는 문제를 걱정하지 않아도 된다.
[1.2 웹 클라이언트와 서버]
- 웹 콘텐츠는 웹 서버에 존재한다 웹서버는 HTTP로 소통하고 이는 HTTP 서버라고 한다.
- 웹 클라이언트는 대표적으로 브라우저를 의미하고 익스플로러, 구글 크롬 같은 경우가 대표적인 웹 브라우저이다.
[1.3 리소스]
- 웹 서버
- 웹 리소스를 관리한다.
- 웹 리소스
- 웹 콘텐츠의 원천
- 정적 파일(jpg, img, html 파일 등이 이에 해당..)
- 동적 콘텐츠 리소스도 가능하다(프로그램과 같은 것들이 이에 해당..)
- 결론적으로 웹 리소스는 어떤 종류가 와도 된다.
[미디어 타입]
- 웹 서버는 모든 HTTP 객체 데이터에 MIME타입을 붙인다.(MIME: 데이터 포맷 라벨)
[URI]
- 웹 소스는 각자 이름이 존재한다. 이를 서버 리소스 이름 통합 자원 식별자 URI라고 부른다.
[URL]
- 특정 서버의 리소스에 대한 구체적 위치를 서술한다.
- 리소스가 어디에 있고 어떻게 접근이 가능한지를 알려준다.
[URN]
- 라소스 위치에 영향을 주지 않는다.
- 유일 무이한 이름의 역할을 한다.
[1.4 트랜잭션]
- HTTP 트랜잭션의 구성
- HTTP 트랜잭션 요청 명령
- HTTP 트랜잭션 응답 결과
[메서드(method)]
- 모든 HTTP 요청 메시지는 1개의 메서드를 갖는다.
- 메서드로 서버에게 어떤 동작을 취해주어야 하는지 알려준다.
- 웹페이지 가져오기, 게이트웨이 프로그램 실행하기, 파일 삭제하기 등
메소드 | 역할 |
GET | 리소스를 조회한다. (주요 메소드) |
POST | 요청 데이터 처리, 주로 데이터 등록에 사용 (주요 메소드) |
DELETE | 리소스를 삭제한다. (주요 메소드) |
PUT | 리소스를 대체하고 이때 리소스가 없다면 새로 할당해준다. (주요 메소드) |
PATCH | 리소스를 일부만 변경한다. (주요 메소드) |
HEAD | 지정 리소스 응답에서 HTTP 헤더만을 보내주는 역할을 한다. (기타 메소드) |
[상태코드]
- 1xx (Informational): 요청이 수신되어 처리중
- 2xx (Successful): 요청 정상 처리
- 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요
- 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
- 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함
[웹 페이지는 여러 객체로 이루어질 수 있다.]
웹 페이지의 리소스는 대게 하나의 리소스가 아닌 여러 시소스의 모음이다.
[1.5 메시지]
- HTTP 메시지
- 요청 메시지
- 응답 메시지
[1.6 TCP 커넥션]
전송 제어 프로토콜(Transmission Control Protocol, TCP, 문화어: 전송조종규약)은 인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로도 널리 불린다.
- HTTP는 애플리케이션 계층 프로토콜로 통신 핵심 세부사항에는 신경을 쓰지 않는다.
- 그렇다면 이 통신 세부사항을 신경쓰는 것은 무엇일까?
- TCP/IP가 이를 처리한다.
- TCP의 제공
- 오류 없는 데이터를 전송 보장한다.
- 순서에 맞는 전달을 보장한다.(데이터가 중간에 뒤죽박죽 순서 변동이 없도록 한다.)
- 조각나지 않는 데이터를 스트림 해준다. (언제 어디서든 어떤 크기로든 보낼 수 있다는 의미다.)
[TCP/IP]
[접속, IP 주소 그리고 포트 번호]
- HTTP가 메시지 전송 전에 IP 주소와 포트번호를 사용해서 클라이언트와 서버 사이에 TCP/IP 커넥션을 맺어야 한다.
[1.7 프로토콜 버전]
https://ko.wikipedia.org/wiki/HTTP
[1.8 웹의 구성 요소]
- 프락시
- 클라이언트 서버 사이에 위치한 HTTP 중개자
- 캐시
- 많이 찾는 웹페이지를 클라이언트 가까이에 두고 필요할 때 빠르게 사용할 수 있게 하는 HTTP 창고
- 게이트웨이
- 다른 애플리케이션과 연결된 특별한 웹 서버
- 터널
- 단순 HTTP 통신으로 전달하기만 하는 특별한 종류의 프락시
- 에이전트
- 자동화된 HTTP 요청을 만드는 준지능적 웹 클라이언트
'Back-End > HTTP' 카테고리의 다른 글
[HTTP 완벽 가이드][웹의 기초] 2.URL과 리소스 (0) | 2022.04.20 |
---|---|
[HTTP][캐시와 조건부 요청] - 캐시 무효화 (0) | 2022.02.27 |
[HTTP][캐시와 조건부 요청] - 프록시 캐시 (0) | 2022.02.27 |
[HTTP][캐시와 조건부 요청] - 캐시 제어 헤더 (0) | 2022.02.27 |
[HTTP][캐시와 조건부 요청] - 검증 헤더와 조건부 요청 (0) | 2022.02.27 |