전체 글 47

[인터넷] 브라우저와 그 작동 원리

브라우저란? 브라우저는 사람들이 가장 많이 사용되는 소프트웨어입니다. 인터넷 익스플로러, 크롬, 파이어폭스, 사파리 등 브러우저를 통해 우리는 주소창에 서버 도메인을 입력하여 손쉽게 인터넷 서비스를 이용합니다. 브라우저의 주요 기능은 사용자가 선택한 자원을 서버에 요청하고 이를 화면에 표시해주는 것 입니다. 여기서 자원은 보통 HTML 문서를 뜻하지만 PDF나 이미지 등의 다른 형태일 수도 있습니다. 사용자는 URI(Uniform Resource Identifier)에 의해 정해진 자원의 주소를 이용해서 요청할 수 있습니다. 브라우저의 기본 구조 우리가 사용하는 브라우저는 다음과 같은 요소들로 구성되어 있습니다. 사용자 인터페이스 - 사용자가 접근할 수 있는 영역으로, URI를 입력하는 주소 표시줄, 이..

[인터넷] HTTP란?

HTTP (HyperText Transfer Protocol) 서버와 클라이언트가 인터넷에서 데이터를 주고 받기 위한 프로토콜입니다. HTTP 동작 방식 HTTP는 서버 / 클라이언트 모델을 따릅니다. 클라이언트가 서버에 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 보냅니다. connect: 클라이언트가 원하는 서버에 접속 request: 클라이언트가 서버에게 원하는 요청을 보냄 response: 서버가 요청에 대한 결과를 클라이언트에게 보내고 응답 close: 응답이 끝나면 서버와 클라이언트 연결 종료 (Stateless) HTTP 특징 TCP/IP를 이용하는 응용 프로토콜이다. 비연결성 프로토콜이다. 따라서 클라이언트의 이전 상태를 서버가 알 수 없다는 단점이 있다. (이를 해결하기 위해 ..

[인터넷] - 인터넷의 작동 원리

인터넷이 무엇인지는 다들 알고 있을거라 생각합니다. 그렇다면 우리가 사용하는 인터넷이 어떻게 구성되어 있으며 어떻게 동작하는지에 대해서 알아보도록 하겠습니다. TCP/IP TCP/IP는 컴퓨터와 컴퓨터간의 통신을 위한 규약으로 정의할 수 있습니다. 2개의 프로토콜로 이루어져있으며 IP 프로토콜 위에 TCP 프로토콜이 놓여있습니다. IP 네트워크상 컴퓨터의 고유 주소입니다. 192.168.2.1 같은 형식의 총 4바이트로 이루어져 있습니다. TCP 클라이언트와 서버간 데이터를 신뢰성있게 전달하기 위해 만들어진 프로토콜입니다. 데이터 교환을 안정적으로 순서대로 처리할 수 있게하여 에러를 방지합니다. 인터넷이란, 각 컴퓨터들간 TCP/IP 통신 프로토콜을 이용하여 서로 데이터를 주고 받도록 구성된 네트워크입니..

Django REST API 서버 만들기

Restful API 란? Representational State Transfer의 약자 Rest로 소프트웨어 프로그램 아키텍처의 한 형식을 의미합니다. 자원을 이름으로 구분하여 자원의 상태(정보)를 주고 받는 모든 것을 의미합니다. HTTP 프로토콜을 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 입니다. REST 구성 1. 자원 (Resource) - URL - HTTP url을 활용한 고유한 ID로 구분합니다. 2. 행위 (Verb) - HTTP Method - HTTP 프로토콜의 GET, POST, PUT, DELETE 3. 표현 (Representations) - Client가 자원의 정보에 대한 조작을 요청하면 Server는 이에 대응하는 Representation을 보냅니다...

github issue solve

"please use a personal access token instead." 로컬에서 코딩을 한참 하다가 내 깃헙 레포에 연결하려고 하니 실패.. 아래와 같은 오류가 발생했습니다. 확인해보니 password가 아닌 personal access token을 사용하라고 하는데 최근에는 개인 github은 거의 사용을 안하고 회사에서 bitbucket만을 사용하다 보니.. 당황해서 비밀번호 바꿔보고 하다가 해당 글을 참조해서 token 발급 받은 뒤 문제 해결. "error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)" 그리고 나서 작업한 코드를 push 하려다가 또 아래와 같은 오류 발생 ㅠ stackoverfl..