[HTTP] Request & Response Message

jungmin kim·2021년 11월 30일
0

HTTP

목록 보기
2/5

1. HTTP Request Message Format


참고 블로그
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=allstar927&logNo=90161809512

1) Request Line


Method: 웹 브라우저와 웹 서버가 어떤 방식으로 통신할 것인가를 나타내는 것이다.
크게 두 가지 방식이 있다. GET / POST
1) GET Method : 웹 서버로부터 데이터를 가져올 때 쓰는 방식이다.
즉, 주소를 치고 엔터를 치는 방식이다.
2) POST Method : 전송 버튼을 눌러서 데이터를 전송하는 방식이다.
HTML form태그에서 자주 쓰이는 방식이다.

Method다음에 나오는 부분은 사용자가 웹 서버에 요청하는 정보가 무엇인지를 나타낸다.
위 사진에 나온 /favicon.ico파일을 웹 서버가 보고 사용자에게
웹 브라우저가 요청한 정보를 응답해준다.
마지막 HTTP/1.1은 웹 브라우저가 현재 사용하고 있는
또는 사용할 수 있는 HTTP버전이 1.1이라는 것을 알려준다.
역시 웹 서버는 이 정보를 보고 적당한 방식으로 통신한다.

2) Request Header

여러가지 요소가 들어가지만, 그 중 필수적인 것이 Host이다.

Host: 인터넷이 연결되어있는 각 컴퓨터를 식별하는 이름을 나타낸다.
여기서 나타나는 Host는 현재 위치한 웹사이트의 웹 서버 주소를 적는 것으로 보면 된다.

User-Agent : 웹브라우저와 동일하다. 사용하고 있는 웹브라우저의 정보를 나타낸다.
ex. 사용자의 웹브라우저 사용 통계, 봇 차단조치 등 활용가능

Accept-Encoding : 웹 브라우저나 웹 서버가 서로 통신할 때 응답하는
데이터의 양이 많으면 그걸 압축해서 전송할 수 있고 반대로 압축을 풀어서 처리할 수 있다.
(-> 네트워크 자원활용 용이)
이때, 처리하는 압축방식을 나타낸다.

if-Modified-Since : 마지막으로 언제 다운로드받았는 지 웹 서버에게 알려주는 것이다.
웹 서버는 이 정보를 토대로 자신이 갖고 있는 파일 다운로드 시간과 비교해서 최신여부를 확인한다. 이렇게 시간 비교를 통해 다운로드할 필요가 없으면 전송하지 않는다.
이미지와 같은 멀티미디어 파일은 요청할 때마다 다운로드 받는 것이 성능적으로 효율적이지 않기 때문에, 이 정보를 활용한다.

2. HTTP Response Message Format


참고 블로그
https://velog.io/@nsunny0908/TIL-17-Http

1) status

:서버가 응답했을 때 결과여부를 알려주는 상태

Status Code
2XX : Success (성공)
3XX : Redirection (웹브라우저가 다른 곳으로 이동)
4XX : Client Error
ex) 403 - Forbidden (관계자 외 출입금지) / 404 - Not Found(없는거 찾을 때)
5XX : Servor Error
ex) 500 - Internal Server Error(서버 내부 문제발생)

위키피디아 참고
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

2) Headers


Content-Type : 웹 서버가 응답할 때 파일형식.
웹 브라우저가 이 부분을 보고 형식에 맞게 화면에 보여준다.

content-length : 응답하는 컨텐츠의 전체 크기를 나타낸다.
Accept-Ranges가 byte로 나온 것을 통해 종합적으로 195byte임을 확인할 수 있다.

최종정리

Request Headers -> Response Headers + HTML

생활코딩 참고
HTTP-3.Request message
HTTP-4.Response message

0개의 댓글