728x90

HTTP는 Hyper Text Transfer Protocol로, 인터넷에서 데이터를 주고 받을 수 있는 프로토콜이다. 

 

(데이터를 주고 받으면서 발생하는 에러(ex) CORS, CORB)들은 HTTP만 잘 알아도 쉽게 해결할 수 있다.)

 

아래 이미지는 내가 만든 웹사이트의 어떤 포스트의 데이터를 가져오는 요청과 그에 대한 응답 정보를 담고 있는 헤더이다. 저 각각의 줄들이 다 정보를 담고 있다. 

 

개발자 도구의 네트워크탭

 

서버의 역할요청에 대한 응답을 보내준다는 것임을 기억하며 '요청'부터 알아보자. 

 

요청

위 이미지에서 내 웹사이트 서버에게 localhost:3060/post/45에 대한 정보를 달라고 요청했다. 요청을 보낼 때요청에 대한 정보를 담아서 서버로 보낸다

 

서버도 응답할 때 응답에 대한 정보를 담아 클라이언트로 보낸다. 이런 정보가 담긴 메세지를 HTTP 메세지라고 한다. 

 

HTTP 메세지는 시작줄, 헤더, 본문으로 구성됩니다. 

 

HTTP 메세지(요청)

 

첫 줄은 시작줄이다. POST (웹사이트 주소) HTTP/1.1이라고 적혀있다. POST는 HTTP 메서드이다. HTTP/1.1는 HTTP 버전이다. 즉, 요청 메세지의 시작줄은 메서드(POST)-주소(웹사이트 주소)-버전(HTTP/1.1)으로 구성된 것이다. 

 

두 번째 줄부터는 헤더이다. 요청에 대한 정보를 담고 있다. User-Agent, Upgrade-Insecure-Requests 등이 헤더에 해당된다. 헤더 종류는 이 뿐만 아니라 매우 다양하다. 

 

헤더에서 한 줄 띄우고 본문이 시작된다. 본문은 요청을 할 때, 함께 보낼 데이터를 담는 부분이다. 예를 들어 사용자가 회원가입 요청을 보냈을 때, 아이디, 비밀번호 등 다양한 데이터가 요청에 포함되는데, 이런 데이터가 본문에 담겨있다. 

 

응답

아래는 HTTP 메시지(응답)이다. 

 

HTTP 메세지(응답)

 

요청과 마찬가지로 시작줄, 헤더, 본문으로 구성되어 있다. 

 

첫 줄버전(HTTP/1.1)-상태코드(403)-상태메세지(Forbidden)로 구성되어있다. 

 

두 번째 줄부터는 헤더이다. 응답에 대한 정보를 담고 있다. 역시 헤더 종류는 매우 다양하다. 

 

요청을 할 때는 따로 전송할 데이터가 없다면 본문이 없는 경우도 있지만, 응답에는 보통 본문이 있다. 보통 서버에 데이터를 요청하고, 응답 메시지에는 요청한 데이터를 담아서 보내주기 때문이다. 

 

이처럼 HTTP 메시지만 보아도 정말 많은 정보를 알 수가 있다. 

 

 

다음으로는 HTTP 요청 메소드에 대해 알아보겠다. (아래 포스팅을 클릭해주세요)

https://dolphinsarah.tistory.com/39

 

[네트워크] HTTP 메소드(GET, POST, PATCH, DELETE, PUT, HEAD, OPTIONS, CONNECT, TRACE)

HTTP는 인터넷에서 데이터를 주고 받을 수 있는 프로토콜이다. (*HTTP에 대해 알고 싶다면 아래 포스팅을 읽어보세요) https://dolphinsarah.tistory.com/38 [네트워크] HTTP란(HTTP 메세지) HTTP는 Hyper Text Tr..

dolphinsarah.tistory.com

 

 

다음 글을 참고하여 작성했습니다.

https://www.zerocho.com/category/HTTP/post/5b344f3af94472001b17f2da

728x90

+ Recent posts