[TIL] 21/04/22

토닉·2021년 4월 22일
0

TIL

목록 보기
6/8
post-thumbnail

오늘 한 일

  1. http란?
  2. 장고 튜토리얼로 프로젝트 생성부터 ORM 다루기까지

HTTP란?

http 세션을 들으면서 문서와 문서가 어떻게 연결되고 서버와 클라이언트의 request/response 메시지 구조를 배웠습니다.

http란?

  • 컴퓨터들끼리 HTML 파일을 주고 받을 수 있도록 하는 소통 방식, 약속

http의 2가지 특징
1. Request/Response
클라이언트 -> 서버 : HTTP Request
서버 -> 클라이언트 : HTTP Response

  1. Stateless
    각각의 통신은 독립적이기 때문에 현재의 통신은 과거의 통신에 대한 내용을 알 수 없다.
    매 통신마다 필요한 모든 정보를 담아서 요청을 보내야 한다.

Request / Response 메세지 구조

Request 구조

Start Line / Status Line

Http Method: 데이터를 가져오기만 할지(GET), 수정할지(POST), 삭제할지(DELETE) 정의하는 부분

Request target: request가 전송되는 타겟(URL)

HTTP Version: http 버전을 뜻함

headers

  • 요청과 응답에 대한 추가 정보(메타 데이터)
  • Host, User-Agent, , , ,

Body

  • 요청과 응답의 실제 정보
  • 주로 Body는 POST 메소드에서 사용된다.
  • "username" : "wecode"

Response 구조

Status Line

클라이언트에서 요청에 대한 처리 상태를 알려준다.

HTTP Version / Status Code / Status Text

  • HTTP/1.1 404 Not Found
  • HTTP/1.1 200 SUCCESS

Headers

요청의 header와 동일하다.

Body

요청의 body와 일반적으로 동일하지만 데이터를 전송할 필요가 없는 경우 Body가 없을 수 있다.

가장 많이 사용되는 Body의 데이터 타입은 JSON 이다.

HTTP Request Methods

해당 메소드들은 클라이언트의 입장에서 요청의 의도가 담긴 것이다.

백엔드의 입장 X

  • GET : 데이터를 받아오기만 할 때(주문 내역 확인)body가 필요없다.
  • POST : 데이터를 생성 / 수정 할 때(블로그에 글을 쓸 때)body가 필요
  • DELETE : 서버에 저장된 특정 데이터를 삭제할 때()

Response Status Codes


출처:https://softcrony.com/blog/http-response-status-and-error-codes/

장고 튜토리얼로 프로젝트 생성부터 ORM 다루기까지

Django tutorial (설문조사 웹 만들기)

미니콘다를 활용해 가상환경에서 django로 첫 프로젝트를 만들어봤습니다. tutorial을 따라하면서 프로젝트와 앱이 어떻게 생성되고 구조가 어떻게 되있는지 알았습니다. 웹에서 url을 검색했을 때 장고가 url을 처리하고 view를 보여주는 연결을 이해했습니다. model에서 데이터베이스를 sql 쿼리문 없이 조작하는 방법도 배웠습니다. 특히 migration이라는 데이터베이스를 git처럼 버전관리를 할 수 있고 스키마, 필드, 레코드를 조작해봤습니다.

profile
우아한테크코스 4기 교육생

0개의 댓글