HTTP - 01 에 이어서..
[HTTP - 01] HTTP 가 뭔지 알고싶다
HTTP가 뭘까 HTTP라고 하는것은 분명 웹 주소와 같은 부분에서 맨 앞에 붙어있는 친구정도로 알고 있었다. 심지어는 네이버 혹은 내 블로그.. 를 들어올 때, http:// 떼고, www. 떼서 naver.com, woongtech.tist
woongtech.tistory.com
트랜잭션
HTTP 트랜잭션은 요청 명령과 응답 결과로 구성되어있다. 이 상호작용은 HTTP 메시지라고 불리는 정형화된 데이터를 이용한다.
메서드
HTTP는 HTTP 메서드라고 불리는 여러 가지 종류의 요청 명령을 지원한다. 모든 HTTP 요청 메시지는 한 개의 메서드를 가지며, 메서드는 서버에게 어떤 동작(웹 페이지 가져오기, 게이트웨이 프로그램 실행하기, 파일 삭제하기 등)이 일어나야 하는지 말해준다.
HTTP 메서드 | 설명 |
---|---|
GET | 서버에서 클라이언트로 지정한 리소스를 보내라. |
PUT | 클라이언트에서 서버로 보낸 데이터를 지정한 이름의 리소스로 저장하라. |
DELETE | 지정한 리소스를 서버에서 삭제하라. |
POST | 클라이언트 데이터를 서버 게이트웨이 애플리케이션으로 보내라. |
HEAD | 지정한 리소스에 대한 응답에서, HTTP 헤더 부분만 보내라. |
상태 코드
모든 HTTP 응답 메시지는 상태 코드와 함께 반환된다. 이런 상태 코드 중, 우리가 흔히 알고 있는 404 페이지의 404도 응답 메시지의 상태 코드 중 하나이다.
웹 페이지의 객체 구성
애플리케이션에서는 보통 하나의 동작을 수행하기 위해 여러 트랜잭션을 수행한다. 예를 들어, 대량의 데이터가 담긴 웹 페이지를 가져올 경우, 대량의 트랜잭션 또한 수행되는데, 페이지 레이아웃을 구성하는 HTML을 가져오기 위한 트랜잭션과 여러 이미지, 텍스트 등을 가져오기 위한 추가적인 트랜잭션을 수행한다. 이처럼, '웹 페이지'라는 것은 보통 하나의 리소스를 가리키는 것이 아닌 리소스의 모음들을 가리킨다.
TCP
TCP/IP
HTTP는 애플리케이션 계층 프로토콜이다. HTTP는 네트워크 통신의 핵심적인 세부사항에 대해 신경쓰지 않으며, 대중적이고 신뢰성 있는 인터넷 전송 프로토콜인 TCP/IP에게 맡긴다. TCP는 다음을 제공한다.
- 오류없는 데이터 전송
- 순서에 맞는 전달
- 조각나지 않는 데이터 스트림
인터넷 자체가 전 세계의 컴퓨터와 네트워크 장치들 사이에서 대중적으로 사용되는 TCP/IP에 기초하고 있다. TCP/IP는 TCP와 IP가 층을 이루는 패킷 교환 네트워크 프로토콜의 집합이다. TCP/IP는 어떤 종류의 네트워크든 서로 신뢰성 있는 의사소통을 하게 해주며, TCP 커넥션이 맺어지는 순간, 클라이언트와 서버 간 메세지의 손실이 나는 상황은 결코 존재하지 않는다.
TCP 커넥션
TCP에서는 서버에 대한 IP주소와 그 서버에서 실행 중인 프로그램이 사용 중인 포트번호가 필요하다. 이 때, HTTP 서버의 IP주소와 포트번호는 URL을 이용해 알 수 있다. URL은 리소스를 가지고 있는 장비에 대한 IP주소를 알려줄 수 있기 때문이다.
커넥션 순서는 다음과 같다.
- 웹 브라우저는 서버의 URL에서 호스트 명을 추출한다.
- 웹 브라우저는 서버의 호스트 명을 IP로 변환한다.
- 웹 브라우저는 URL에서 포트번호를 추출한다.
- 웹 브라우저는 웹 서버와 TCP 커넥션을 맺는다.
- 웹 브라우저는 서버에 HTTP 요청을 보낸다.
- 서버는 웹 브라우저에 HTTP 응답을 돌려준다.
- 커넥션이 닫히면, 웹 브라우저는 문서를 보여준다.
'WEB' 카테고리의 다른 글
자바스크립트 비동기 작업 이해하기 [javascript/typescript] (0) | 2023.03.20 |
---|---|
타입스크립트 핸드북 훑어보기 [2. Everyday Types] (0) | 2023.03.11 |
타입스크립트 핸드북 훑어보기 [1. The Basics] (0) | 2023.03.10 |
타입스크립트 문서 훑어보기 (0) | 2023.03.09 |
[HTTP - 01] HTTP 가 뭔지 알고싶다 (0) | 2023.02.22 |