전 세계의 웹 브라우저 서버, 웹 애플리케이션은 모두 HTTP 를 통해 서로 대화한다고 한다.
HTTP는 신뢰성 있는 데이터 전송 프로토콜을 사용하기 때문에, 데이터가 지구 반대편에서
오더라도 전송 중 손상되거나 꼬이지 않음을 보장한다. 그렇게 때문에 사용자나 개발자가?
통신중 인터넷의 결함이나 파괴되거나 중복, 왜곡되는 것을 걱정하지 않아도 된다?
웹 서버 === HTTP 서버
웹 서버는 HTTP프로토콜로 의사소통하기 때문에 HTTP 서버라고 불린다.
웹 브라우저는 브라우저 주소를 서버로 보내고 서버는 요청 받은 객체를 찾고 정보를
HTTP 응답에 실어서 클라이언트에게 보냄
콘텐츠 소스 === 리소스
웹 서버는 웹 리소스를 관라하고 제공한다.
웹 리소는 정적파일과 동적파일이 있다.
요청에 따라 웹서버가 리소를 생산하는 프로그램이 될 수도 있다?
누가 요청했는지? 몇시인지? 카메라, 라이브 영상, 주식 거래, 부동산 데이터베이스 검색,
온라인 쇼핑몰에서 상품 구매 등등 여러 기능을 제공해 줄 수 있다!
웹서버는 모든 HTTP객체 데이터에 MIME타입을 붙임
인터넷은 엄청 많은 데이터 타입을 다루기 때문에 HTTP는 웹에서 전송되는 객체 각각에
MIME 라는 타입을 포멧 라벨을 붙인다.
MIME 의 용도는 각기 다른 전자메일 시스템 사이에서 메시지가 오갈 때 겪는 문제점을 해결하기 위해 설계되었다고 한다.
HTTP에서도 멀티미디어 콘텐츠를 기술하고 라벨을 붙이기 위해 채택했다고 함!
웹 브라우저는 서버로부터 객체를 돌려받을 때, 다룰 수 있는 객체인지 MIME타입을 통해 확인할 수 있다.
MIME 타입은 사선 / 으로 구분된 주 타입과 부 타입으로 이루어진 문자열 라벨이다.
- HTML로 작성된 텍스트 문서는 text/html 라벨이 붙는다.
- JPEG 이미지는 image/jpeg가 붙는다.
- GIF 이미지는 image/gif 가 된다.
서버 리소스 이름 === 통합 자원 식별자 URI
URI는 인터넷 우편물 주소와 같다. 정보 리소스를 고유하게 식별하고 위치를 지정 가능
URI는 URL 과 URN이로 나누어짐
URI === 통합 지원 지시자
URI는 리소스에 대한 구체적인 위치를 말한다
- URI의 첫 번째 부분은 스킴(scheme) 이라고 불리며 리소스에 접근하기 위해 사용되는
프로토콜을 서술, HTTP프로토콜 http:// 이다 - 두 번째 부분은 서버의 인터넷 주소를 제공한다 www.joes-hardware.com
- 마지막은 웹 서버의 리소스를 가리킴 :/secials/saw-blade.gif
URN === 유니폼 리소스 이름
URN은 리소스의 위치에 영향을 받지 않는 유일무이한 이름 역할을 함
URN은 리소스를 여기저기로 옮겨도 문제없이 동작, 이름을 유지한다면
여러 종류의 네트워크 접속 프로토콜로 접근해도 문제없다?
하지만 인프라 지원이 필요하다는 이유에서 널리 채택되지 않음
여기서 궁금한게 그럼 URI는 리소스를 여기저기로 옮기면 문제될수도 있나? 해서
chat gpt에게 물어봄
uri도 그 주소는 나름 유일무이한 리소스라고 이해하면 될 것 같다.
HTTP 트랜잭션 === 요쳥 명령과 응답 결과
HTTP 트랜잭션은 클라이언트에서 서버로 보내는 요쳥 명령과 서버가 클라이언트에게 돌려주는 응답 결과로 이루어짐
HTTP 는 HTTP 메서드라는 요청 명령을 지원한다. HTTP 요청 메세지는 한 개의 메서드를 가지며
어떤 동작이 취해져야 하는지 말해준다. GET, POST, DELETE, PUT, HEAD 가 있음
책:HTTP 완벽 가이드