http 기초

Humbler·2020년 3월 21일
0

http란?
ㅡ> HyperText Transfer Protocol.
ㅡ> HTML 문서를 교환하기 위해 만들어진 protocol(통신 규약)
ㅡ> 웹상에서 네트워크로 서버끼리 통신할떄 어떤 형식으로 통신을 하자고 규정해 놓은 '통신 형식'이다.
ㅡ> client - front - back 끼리 통신에 사용.

http의 통신 방식

위의 사진을 보면 http는 기본적으로 request/response 구조.
ㅡ> 웹상에서 모든 통신은 요청과 응답으로 이루어짐.

HTTP는 stateless.
ㅡ> 즉 각각의 요청/응답은 독립적인 요청/응답.
ㅡ> 만일 여러 요청/응답 의 진행과정이나 데이터가 필요한 경우, cookie or session을 사용.

HTTP request 구조.
:start line, headers, body.

Start line
ㅡ> 위의 사진에서 HTTP request의 첫 라인.
ㅡ> start line 또한 3부분으로 구성.
ㅡ> HTTP method(request가 의도한 action 정의)
request target(request가 전송되는 목표 uri)
HTTP version(1.0 /1.1 /2.0)

Headers
ㅡ> 해당 request에 대한 추가정보를 담는 부분.
ㅡ> key:value 값으로 되어 있다.

Host - 요청이 전송되는 target의 host url.
User-Agent - 요청을 보내는 클라이언트에 대한 정보.
Accept - 해당 요청이 받을 수 있는 response 타입.
Connection - 해당 요청이 끝난 후에 클라이언트와 서버가 계속 network connection을 유지할 것인지 끊을 것인지.
Content-Type - 해당 request가 보내는 body type. JSON을 보내면 application/json
Content-Length - body의 길이.

Body
ㅡ> request의 실제 메시지 내용.
ㅡ> body가 없는 request도 많음. ex) GET request

HTTP response 구조.
:status line, headers, body

Status line
ㅡ> Response의 상태를 간략히 나타내는 부분.

HTTP 버전, status code, status text

Headers
ㅡ> request의 headers와 동일.
ㅡ> 다만 response에서만 사용되는 header값 존재.
ex) User-Agent 대신 server

Body
ㅡ> request의 body와 동일.
ㅡ> request와 마찬가지로 모든 response의 body가 존재하진 않음.
데이터를 전송할 필요가 없을 경우 body가 비어있음.

profile
무엇을 모르는지 모르는 상태에서 무엇을 모르는지 아는 상태가 되어가는.

0개의 댓글