본문 바로가기

cs

[네트워크] HTTP 요청과 응답 메세지 이해하기

# HTTP 요청 - 응답 메시지 이해하기

참고링크

 

[네트워크] HTTP의 이해2: HTTP Request-Response Messages

HTTP 요청-응답 메시지 브라우저에 URL을 입력하면 HTTP 표준에 따라 URL을 요청 메시지로 변환하고 TCP/IP를 사용하여 인터넷을 통해 요청을 보낸다. 웹 서버는 요청을 수신하고 클라이언트가 요청한

cotak.tistory.com

HTTP를 요청을 하고 서버가 응답을 하는 과정에서 어떠한 정보를 주고 받는지에 대해 이해한다면 프로젝트 코드구현하는데 있어서 수월할 수 있을 것같다.

HTTP Request

  • 브라우저에 URL을 입력하면 HTTP표준에 따라 URL을 요청 메세지로 변환하고 TCP/IP를 사용해 인터넷을 통해 요청을 보낸다.
    Client -> Server
    여기서 Server는 Client의 요청(Request)을 수신하고 Client한테 요청을 받은 웹 페이지를 반환(Response)한다.

https://cotak.tistory.com/59

  1. 요청라인: HTTP Method, Web page, HTTP version
  • VERB

http method(GET, POST, FETCH, PUT, DELETE)를 담는 곳이다.

  • URI

host주소+pass경로를 말한다.
https://market-training.yagom-academy.kr/api/products?page_no=1&items_per_page=10

  • Version
  1. 요청 헤더: Host, Accept, User-Agent, Cokie, Refer
    • Host: 클라이언트가 요청한 도메인 정보(URI)
    • Accept: 웹서버로부터 수신되는 데이터 중 웹브라우저가 처리할 수 있는 데이터의 형식정의
    • User-Agent: 사용자 웹 브라우저 종류 및 버전정보
    • Cookie: 클라이언트 로컬에 저장되는 Key-Value쌍의 데이터 파일
    • Referer: 경유한 웹 사이트에 대한 정보

HTTP Version말함. HTTP/1.1

  • Request Header
  • Key: Value로 되어있음

# HTTP Response

  • Response Code

200, 304, 404, 500… 등의 상태코드를 담는 곳이다.

  • HTTP Version

HTTP 버젼을 표시하는 곳이다. HTTP/1.1

  • Response Header
  • URL의 인스턴스 생성과 URLRequest인스턴스 생성이있는데 URLRequest에 정보를 담아서 어떤 메서드인지, 버젼인지, 도메인인지를 담아서 전달하면 되는거아닌가 ? 이번프로젝트에서는 URLRequest를 대부분 사용할것같다는 생각이들었었다…

그런데 Get인 정보를 가져오기만할때는 굳이 다른 정보를 보내야할 필요도 없다. 왜냐하면 딱히 보내야할 메세지가 없고 읽기만 하면되는거라서… 즉, GET메서드를 사용해야하는상황에는 URL타입으로 사용할 수도 있을것같다는 생각이든답…

오늘 파트너인 링고에게 이해안되는 HTTP와 URL에대한 질문을 많이했는데 예시코드와 좋은글로 차분히 설명해준 링고… 고마워요…🙏🏻🙏🏻🙇‍♂️