ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Web] Web의 동작 이해하기
    Development/Web 2020. 4. 26. 19:30

     

     

    다룰 내용

    • HTTP란 무엇인가?
    • Request, Response 형식
    • Request Method
    • Response Code

     


     

    HTTP란 무엇인가?

    HTTP는 HyperText Transfer Protocol의 약자로, 인터넷 상에서 클라이언트와 서버가 데이터를 주고 받기 위한 통신 규약을 말합니다. 

     

     

    HTTP 특징 및 장단점

    • HTTP는 무상태(Stateless)의 특징을 가지고 있습니다. 즉, 연결을 유지하지 않는 특징을 가집니다.
    • 따라서 이전에 처리했던 클라이언트에 대한 정보와 상황을 유지하지 않습니다. 이러한 특징 때문에 정보 유지가 어려워 Cookie와 같은 기술이 등장하며 정보를 유지할 수 있게 되었습니다.
    • 반면 연결을 계속 유지하지 않는다는 특징 때문에 더 많은 요청과 응답을 처리할 수 있다는 장점이 있습니다. 그래서 불특정 다수를 대상으로 하는 서비스에 적합한 작동 방식을 가지고 있습니다.

     

    URL이란 무엇인가?

    URL은 Uniform Resource Locator의 약자로, 인터넷 상의 자원의 위치를 말합니다. 즉 특정 웹 서버의 특정 파일을 얻기 위해 접근하는 경로 및 주소를 의미합니다.

     

     

    URL 형식

    프로토콜 종류:// {포트번호} IP 주소 및 도메인 이름/ 문서의 위치/ 문서의 이름

     

     

    HTTP 동작 방식

     

    [출처: [부스트코스] 웹 프로그래밍]

     

    HTTP는 반드시 클라이언트쪽에서 먼저 요청을 해야합니다. 들어온 요청에 대해 웹 서버는 응답 결과를 만들어 응답해주는 방식입니다. 그리고 응답했으면 연결을 해제하는 방식으로 동작합니다.

     

     


     

    HTTP Request 구조

    [출처: 코드플로우]

    Request Line[요청의 핵심적인 부분들의 요약]

    • 요청 Method: 서버에 어떤 방식으로 요청할 것인지 나타냅니다. 
    • URI: 요청하는 자원을 의미합니다.
    • 프로토콜 버전

     

    Request Header[Body에 대한 부가 정보나 클라이언트와 관련된 정보]

    • 브라우저 정보
    • 클라이언쪽 언어 등

     

    Request Body

     

     

    Request Method

    • GET: 조회 및 열람이 주 목적인 요청 방식이며, 데이터 전송 목적이 주 목적이 아닙니다. 검색 조건이나 검색어와 같은 인자 값들이 URL에 QueryString로써 드러나며 서버에 전송되는 방식입니다.
    • POST: 데이터를 전송하면서 처리를 요청하는 것이 주 목적입니다. 데이터를 전송할 때 개인정보나 보안이 요구되는 정보들이 있을 수 있기 때문에 GET 방식처럼 URL에 정보가 드러나는 것이 아닌 Request Body에 정보들이 담겨 서버측으로 전송됩니다.
    • PUT: 정보 업데이트가 주 목적인 요청 방식입니다.
    • DELETE: 정보 삭제가 주 목적인 요청 방식입니다.

     


     

     

    HTTP Response 구조

    [출처: 코드플로우]

    Status Line[클라이언트가 요청 보낸 것에 대한 응답 상태]

    • 프로토콜 버전
    • Status Code: 클라이언트의 요청에 대한 처리 상태를 나타냅니다.

     

    Response Header[Body에 대한 부가 정보나 서버와 관련된 정보]

    • Content-Type: Body 메세지에 담긴 데이터에 대한 타입 정보(ex. text/html), 브라우저는 이 Content-Type을 보고 Body안의 Content를 어떻게 처리할지 결정합니다.
    • 그 밖의 서버 정보

     

    Response Body[클라이언트가 요청해서 받고자 하는 Content]

    • Content

     

     

    Reponse Status Code[숫자로 표시]

    • 200: 정상 처리를 의미합니다.
    • 404: 요청하는 데이터를 찾지 못한 경우를 의미합니다.
    • 500: 서버측 에러로 인해 응답이 처리되지 못한 경우를 의미합니다.

     

Designed by Tistory.