HTTP(HyperText Transfer Protocol)
하이퍼텍스트를 빠르게 교환하기 위한 프로토콜로
서버와 클라이언트 사이에서 어떻게 메시지를 교환할지 정해놓은 통신 규약입니다.
HyperText란 다른 경로나 이미지, 영상 등을 담아내기 위한 텍스트 형식으로
링크기반으로 데이터에 접속하겠다는 의미입니다.
HTTP는 요청(Request)와 응답(Response)로 구성되어 있으며, 클라이언트가 요청을 하면 서버가 응답을 하는 구조로 Connectionless 방식으로 작동하는데 클라이언트가 서버에 정보를 요청하면 서버가 응답코드와 내용을 전송하고 클라이언트와 연결을 종료합니다.
ex) 우리가 나무위키에 접속을 했다고 가정하자. 접속하면 클라이언트는 GET명령을 나무위키 서버에 전송한다. GET요청을 받은 나무위키는 응답 코드와 메시지를 전송하고, 그것을 브라우저가 화면에 뿌려주는 것
위의 방식은 불특정 다수를 대상으로 하는 서비스라면 수십만명이 웹서비스를 사용해도 접속유지는 최소한으로 할 수 있으므로 더 많은 유저의 요청을 처리할 수 있기 때문에 적합한 방식입니다.
하지만 연결을 끊어버리기 때문에 클라이언트의 이전 상태를 알 수 없게됩니다.
이렇게 되면 클라이언트가 과거에 로그인을 성공하더라도 그 로그 정보를 유지할 수 없어 HTTP는 cookie를 이용해서 이 문제를 해결하고 있습니다
HTTPS와의 차이점
728x90
'STUDY > CS' 카테고리의 다른 글
TCP와 UDP (0) | 2023.02.04 |
---|---|
인덱스 (0) | 2023.01.19 |
웹 서버와 WAS의 차이 (0) | 2023.01.16 |
시스템 호출(시스템 콜, system call, syscall) (0) | 2023.01.13 |
DFS / BFS (0) | 2023.01.06 |
댓글