본문 바로가기

Dev-/WEB

HTTP의 정의, 특징

웹을 공부하면서 HTTP에 대한 개념을 정리한 적이 없었네요.

정리해보는 포스팅입니다.



HTTP(Hyper Text Transfer Protocol)

: 인터넷에서 데이터를 주고받는데 사용되는 프로토콜(규약, 규격)


데이터를 주고받을 때 사용하는 규약, 혹은 규칙을 말합니다. 


여기서 데이터를 주고받는다는 것은 아래와 같이 클라이언트, 서버간의 정보교환을 말합니다.


클라이언트 ---------- 요청(Request) -----------> 서버

클라이언트 <-------- 응답(Response) ----------- 서버



간단히 제 개인 프로젝트에서 개발자 도구를 확인해볼까요.

저도 아직 대부분의 헤더를 몰라서,, 각 헤더에 대해 공부가 필요할 듯 합니다.


[요청(Request)]



1번째 줄: GET 방식으로 /boards에 요청을 보냄. HTTP 1.1버전


[응답(Response)]



1번째 줄: 상태코드 200(성공: 서버가 요청을 제대로 처리함)

2번째 줄: 응답내용의 타입

5번째 줄: 코드가 찍힌 시간(자동 생성)



말을 좀 더 보태고 싶었는데, 공부가 더 필요할 듯 하네요.

추후에 각각의 헤더에 대한 공부를 한 후 포스팅하겠습니다.



---------------------------------------------------------------------------------------------------------------------



그렇다면 HTTP의 특징을 알아보겠습니다.


1. 비연결성(Connectionless)

연결을 유지하지 않을채 응답과 요청을 처리합니다.

즉, 요청에 맞게 응답을 한 후 연결을 끊습니다.


채팅프로그램, 게임 같은 경우 데이터의 연결을 유지한 채 프로그램이 계속되는데,

이걸 생각하면 비교가 잘 될 것 같습니다.


2. 무상태성(Stateless)

1.에 의해서 HTTP는 이전의 상태정보나 현재 통신의 상태가 남아있지 않습니다.

요청에 답하는 동시에 연결을 끊고 통신을 종료하기 때문입니다.


위 특징으로 인한 

장점은 쓸데없는 자원의 낭비를 줄일 수 있다는 점이고,

단점은, 클라이언트의 상태를 유지시켜줄 수 없다는 점입니다.



여튼 따라서,,

쿠키세션이 없다면 로그인이 필요한 매 페이지마다 계속 로그인을 해야 합니다.



HTTP의 특징은 쿠키, 세션의 개념과 연결되기 때문에 잘 알아두는 것이 좋을 것 같습니다.

'Dev- > WEB' 카테고리의 다른 글

HTTP, HTTPS의 차이  (0) 2018.08.09
Web Server(웹 서버), Web Application Server(WAS)의 차이  (0) 2018.08.09
쿠키와 세션  (0) 2018.08.07
Tomcat war 파일 배포  (0) 2018.08.06
RSA 공개키 암호화 기법  (0) 2018.07.19