웹의 동작
인터넷
: 네트워크들의 네트워크
HTTP
: 서버와 클라이언트가 인터넷상에서 데이터를 주고 받기 위한 프로토콜
- HTTP 프로토콜은 Stateless(무상태) 방식으로 필요한 경우에만 연결을 맺고, 빠르게 요청을 보내고 결과를 얻으면 끊음
- 이러한 방식은 Stateful과 같이 계속 연결된 형태가 아니기 때문에 불특정 다수를 대상으로 하는 서비스에 적절함.
클라이언트-서버 간의 최대 연결 수 보다 훨씬 많은 요청과 응답을 처리할 수 있기 때문임. - but, 연결을 끊어버리기 때문에 클라이언트의 이전 상황을 알 수 없는 단점이 생기게 됨. 이를 보완하기 위해 정보를 유지하기 위한 Cookie의 개념이 등장.
URL(Uniform Resource Locator)
: 인터넷 상에서 이미지, 동영상 등의 자원(Resource)들의 위치를 나타내기 위해 사용하는 경로 혹은 주소로
다음과 같이 크게 '세 부분' 으로 나뉘어짐
ex)http://www.sunnyvale.co.kr/docs/index.html
- http - 접근 프로토콜
- www.sunnyvale.co.kr - 자원이 있는 서버의 IP 주소 또는 도메인 주소(+ 포트 번호)
cf. HTTP 서버의 기본 포트 값은 80번 - docs/index.html - 자원의 위치와 자원
How HTTP works?
-
클라이언트가 원하는 서버에 접속(connect)
-
클라이언트가 서버에 정보를 요청(request)
- 요청 데이터 포맷
- 요청 헤더: 요청 메서드(GET/POST), 요청 URI, HTTP version, ...
- 요청 바디: POST 혹은 PUT 시, 올리고 싶은 정보
- 요청 데이터 포맷
-
서버가 요청에 따른 결과를 클라이언트에 응답(response)
- 응답 데이터 포맷
- 응답 헤더: HTTP version, 응답 코드, 응답 메시지, 날짜, 웹 서버 이름과 버전, 콘텐츠 타입, 캐시 제어 방식, 콘텐츠 길이, ...
- 응답 바디: 클라이언트가 요청한 정보
- 응답 데이터 포맷
-
Stateless 방식에 따라 연결 종료(close)
'NAVER Full Stack Boost Course' 카테고리의 다른 글
4. 웹 서버 (0) | 2018.07.22 |
---|---|
3. browser의 동작 (0) | 2018.07.22 |
2. 웹 Front-End와 웹 Back-End (0) | 2018.07.22 |