HTTP란?
- 팀 버너스리와 그의 팀은 HTML 뿐만 아니라 HTTP를 발명했으며, HTTP는 어떠한 종류의 데이터(ex. 오디오, 이미지, 텍스트 등)도 전송할 수 있도록 설계되어 있습니다.
- 서버와 클라이언트가 인터넷 상에서 데이터를 주고 받기 위한 규약, 서로 통신하기 위한 약속입니다.
HTTP 작동 방식
클라이언트는 서버에게 요청하고, 서버는 요청을 받아 다시 클라이언트에게 응답합니다. 응답 후에 서버는 바로 클라이언트 와의 연결을 끊습니다. 그렇기 때문에 바로 다시 이전의 클라이언트가 와도 서버는 같은 클라이언트인지 알 지 못합니다. 예를 들어 쇼핑몰에서 쇼핑하고 결제하려고 하는데, 뭘 쇼핑했는 지 모르는 상태가 발생합니다. 이러한 특징을 무상태(Stateless)라고 하며, 이런 문제를 해결하기 위해 cookie와 session같은 기술이 등장했습니다.
- 서버/클라이언트 모델
- 장점 : 불특정 다수를 대상으로 하는 서비스에 적합
- 단점 : 서버가 바로 연결 종료하므로 무상태 발생
URL (Uniform Resource Locator)
하나의 컴퓨터에는 하나의 IP가 존재합니다. 하나의 IP에는 여러 포트가 있습니다.
쉽게 말하면 우리의 집 주소가 IP 주소가 되는 것이며 우리의 집 안에 있는 여러 방들이 포트가 되는 것입니다.
이 때 주의해야 할 점이 있습니다. 우리는 한 방에 여러 명이 같이 생활하기도 하지만 서버들은 여러 명이 같이 생활 할 수 없습니다. 각 서버는 각 하나의 방만 차지할 수 있습니다.
- 인터넷 상의 자원 위치
- 접근프로토콜 :// IP 주소 또는 도메인 주소 / 문서의 경로 / 문서의 이름
- 물리적인 서버를 찾기 위해 IP 주소 또는 도메인 주소가 반드시 필요
- 하나의 물리적 컴퓨터에는 여러 개의 소프트웨어 서버가 동작할 수 있는데, 이 서버는 포트 값이 다르게 동작해야 한다.
- 포트의 예시 : http - 80 , ftp - 21 ...
HTTP 메서드
- HTTP 요청 방식들로 GET, POST, PUT 등...
- GET은 정보를 요청, POST는 정보를 밀어넣기 위해 사용
참고
'Web' 카테고리의 다른 글
맥북 M1 scss 에러 해결방법 (0) | 2021.07.31 |
---|---|
맥북 M1에 homebrew로 node랑 vscode, 카카오톡 설치하기 (0) | 2021.07.31 |
맥북 M1에 homebrew 개발환경 설정하기 (0) | 2021.07.31 |
Mac에서 Github 여러 계정 사용하기 (0) | 2021.07.19 |
웹앱과 웹어플리케이션의 차이 (0) | 2020.06.06 |