View


HTTP , 인터넷을 사용해 봤다면 단어를 보르는 사람이 없을 것이다. 

어떤 곳에 들어가기위해서는 주소가 필요하고 그 주소앞에 붙어있는 것을 보았을 것이기 때문이다.

 

그렇다면 HTTP란 무엇일까?

 

Hypertext transfer Protocol,

줄여서 HTTP는 어플리케이션 레벨의 프로토콜로 인터넷상에서 데이터를 주고받기 위한 것이다.

서버/클라이언트 모델을 따르며 클라이언트가 서버에게 HTTP 요청을 보내면 서버는 요청된 데이터를 HTTP 응답으로 돌려준다. 

 

HTTP 프로토콜의 특징

 

1.  비연결성 (Connectionless)

  

 클라이언트의 요청에 따른 응답이 이뤄진 후에는 연결이 끊기게 된다. 이 덕에 서버는 트래픽을 많이 잡지 않아도 되고, 여러 클라이언트가 접근할 수 있게된다.

 

2. 무상태성 (Stateless)

  

 비연결성과 이어지는 특징으로 연결이 끊기기 때문에 이전에 처리된 통신을 알 수 없다. 

따라서 로그인과 같은 경우는 정보가 쿠키나 세션을 통해 저장된다.

  * 쿠키는 클라이언트 브라우저에 저장되는 것, 세션은 서버에 저장되는 것으로 쿠키가 세션ID (JSESSIONID)를 가지고 있다. 

 

3. 전송매체에 독립적임(media independent)

 

 통신시에 단일 전송매체에 종속되지 않는다. 즉  , 서버와 클라이언트가 다룰 수 있는 데이터라면 어떤 유형이라도 HTTP 프로토콜을 통해 보낼 수 있다.


HTTP Message 

 

Network : HTTP Request Message (HTTP 요청 메세지)

이전 글에서 HTTP 프로토콜은 요청을 보내고 응답을 받을 때 Message를 보낸다고 했다. 좀 더 세부적으로 정리해보려고 한다. HTTP Request Message 1) Request Line Request Line(요청줄)은 Method , URI , HTTP..

w94dev.tistory.com

1) HTTP Request Message (요청 메세지)

Request-line 에서는 Method / URI / HTTP 버전이 명시되어 있다. 

  •   Method(메서드) :  서버에게 어떤 동작을 취해야 할지 알려주는 역할 .
  •   URI :  HTTP 요청이 전송되는 목표주소. 
  •  HTTP Version : 버전에 따라 메시지구조나 데이터가 다를 수 있어서 버전을 명시

Method / URI / HTTP Version

피들러를 통해 확인해도 좋고, 크롬에서는 F12를 눌러 개발자 모드의 Network에서 확인할 수 있다. 앞에 있는 GET이 Method, / 이 URI , HTTP/1.1이 버전임을 알 수 있다. 

Header에서는 HTTP 요청에 대한 정보를 담고 있다. 

Empty line을 통해 header와 body가 구분된다.

bodyHTTP 요청이 전송하는 데이터를 담아서 보낸다. 전송하는 데이터가 없을 경우에는 body 부분이 비어 있을 수 있다.


2) HTTP Response Message (응답 메세지)

Status line(상태줄)에서는 http버전, Status code(상태코드) , Reason phrase(사유 구절)로 구성되어있다. 상태코드를 통해 요청 중 어떤 상황이 일어났는지 설명해주고, 사유구절을 통해 상태 코드의 의미를 확인할 수 있다.

Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31