Back-end
[WEB] HTTP 정리
kkmin223
2021. 8. 29. 01:17
반응형
HTTP란?
HTTP = Hyper Text Transfer Protocol
클라이언트가 서버에게 HTML을 달라고 요청을 한다 = Request
서버가 클라이언트에게 HTML을 제공한다 = Response
서버와 클라이언트가 Request와 Response를 하기 위해서 서로 알아들을수 있는 메세지(공통의 약속)를 HTTP라고 한다.
웹서버는 Rquest를 받아서 적절한 Response를 보내주는 역할이다.
웹브라우저는 웹서버에게 받은 Response를 화면에 적절하게 표현해주는 역할이다.
Requset
Request Header 구성
- GET = Method = 웹브라우저와 웹서버가 어떤 방식으로 통신할 것인가를 나타낸다. GET은 웹서버로부터 데이터를 가져올 때 사용하고 POST는 웹서버로 전송할 때 를 나타낸다.
- /doc/test.html = 웹서버에게 요청하는 정보가 어떤것인지를 나타낸다.
- HTTP/1.1 = 웹브라우저가 현재 사용하고 있는 HTTP 버전을 나타낸다.
- Host = 요청하는 웹서버의 주소를 나타낸다.
- Accept-Encoding = 데이터의 양이 많을때 웹서버가 압축해서 데이터를 전송할 수 있는데, 이 때 웹브라우저가 지원하는 압축 방식을 나타낸다.
- User-Agent = 요청하는 웹브라우저가 어떤 웹브라우저인지 나타낸다.
Response
Response Header 구성
- HTTP/1.1 = HTTP 버전
- 200 OK = status code이다. 2xx는 성공, 3xx는 Rediretion, 4xx는 클라이언트쪽 오류, 5xx는 서버쪽 오류를 나타낸다.
- Content-type = 웹서버가 응답할 때 이 응답은 text이고 html임을 알려주면 웹브라우저는 이에따라 응답을 처리한다.
- Content-length = 응답하는 content에 사이즈를 보여준다(단위 byte)
- Contnet-encoding = 존재한다면 데이터를 압축한 방식을 알려주고, 웹브라우저는 이를 보고 압축을 풀게된다.
Body
Request와 Response 모두 header와 한줄 공백을 띄운후에 Body를 보내준다. Body는 Response라면 HTML이 될 수 있고, Request라면 POST를 할때 서버쪽에 보내는 데이터가 될 수 있다.
참고자료
생활코딩 WEB2 - HTTP : https://opentutorials.org/course/3385
반응형