HTTP란 HyperText Transfer Protocol의 약자이다.
결국 웹은 클라이언트와 서버와의 관계이다.
클라이언트가 HTML을 Request 하면 서버는 Response를 줄 것이다.
이러한 과정에서는 서로 소통할 수 있게 약속된 메시지의 룰이 필요하다. 이 역할을 해주는 것이 HTTP이다.
만약 어떤 웹페이지를 개발자도구의 네트워크 탭에 들어가보면
위와같이 수많은 파일들을 주고받는것을 알 수 있다.
html 파일의 header를 보면
위와같이 request의 정보나, 수신 상태 등을 알 수 있다.
웹브라우저는 이러한 응답 헤더를 만들어서 서버에 보내고, 받은 정보를 토대로 웹브라우저에 그려주는 역할을 한다.
그럼 이제 request와 response에 대해서 조금 더 알아보자.
request
클라이언트가 서버로 요청하는것
request를 보낼대는 위와같이 헤더를 넣어주고, 한 줄을 띄운 후에 body 즉 내용이 들어가게 된다.
위와같이 헤더가 시작된다면,
get방식으로 map이라는 파일을 요청했고, HTTP규칙은 1.1을 사용했다는 의미가 된다.
Host에는 웹사이트의 도메인이 들어간다.
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
User-Agent를 보면, 웹요청 유저의 정보를 알 수 있다.
Accept-Encoding 은 웹서버가 지원하는 압축 방식을 나타낸다.
Response
서버가 클라이언트로 보내는 응답메시지이다.
이 역시 HTTP Response 형태를 보면 조금 더 이해할 수 있다.
HTTP 1.1방식을 보고, response stats를 알 수 있다. 200번대는 정보수신이 성공했다는 긍정적인 메시지를 나타낸다.
300번대는 Redirections 즉 페이지이동을 나타내고
400번대는 접속해서 안되는 곳에 접속했을때 메시지이고
500번대는 서버쪽에 오류가 있을때를 나타낸다.
그 다음부터는 헤더들이 나타난다.
예를들어 다음 헤더는 Content의 타입을 나타낸다. 다른 헤더들도 컨텐츠들의 내용들을 나타낸다.
HTTP vs HTTPS(SSL)???
HTTPS의 s는 security 즉, 보안을 나타낸다.
HTTP가 처음 나왔을때는 보안에 큰 문제가 되지 않았지만, 점점 웹이 커지면서 문제가 커지게 되었다. 따라서 중간에 정보를 가로채도 해당정보내용을 알 수 없는 HTTPs가 나오게 되었다.
'FrontEnd > 웹 지식' 카테고리의 다른 글
리액트 build파일 경로 설정 (0) | 2022.09.26 |
---|---|
쿠키 (0) | 2022.09.20 |
Unix와 Windows 파일 시스템 (0) | 2022.08.30 |
정규표현식 (0) | 2022.08.30 |
자바스크립트 타이머함수 (0) | 2022.08.30 |