HTTP

·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. 우리가 회원 정보 관리에 대한 API URI를 설계해야 한다고 가정해 봅시다. 회원 기능회원 등록: /create-member회원 조회: /read-member-by-id회원 수정: /update-member회원 삭제: /delete-member이게 과연 좋은 URI 설계일까요 ?URI를 설계할 때는 '리소스'에 집중해야 합니다. 리소스가 뭔데 ? 🧐'사과를 가져와라'라는 문장에서 리소스는 '사과'입니다. ('가져와라'는 행위에 해당)따라서 회원 등록, 회원 조회, 회원 수정 등에서의 리소스는 '회원'이 됩니다. 리소스에 집중하라고 했으니 .. 이렇게 설계하면 될까요 ?회원 등록: /members/{id}회원 조회: /membe..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. 클라이언트와 서버는 HTTP 메시지로 거의 모든 형태의 데이터를 주고받을 수 있습니다. HTTP 메시지의 구조HTTP 메시지는 다음과 같은 구조를 가지고 있습니다.start-line (시작 라인)header (헤더)empty line (공백 라인, CRLF) →필수 ❗message body 요청 메시지 vs 응답 메시지HTTP는 요청 메시지와 응답 메시지의 거의 비슷한 구조를 가지고 있지만, 다른 형태를 띄고 있습니다.start-line (시작 라인)HTTP 요청 메시지에서는 시작 라인을 request line이라고 부릅니다.request line = method *SP request-target SP HTTP-version CR..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다.  이번에는 HTTP의 기본적인 내용들을 정리해 보려고 합니다. HTTP란?HTTP(HyperText Transfer Protocol)는 Hypertext(HTML) 문서 간의 링크를 통해서 정보를 전송할 수 있는 프로토콜로 시작되었습니다. 그러나 지금은 HTML 뿐만 아니라, JSON, 이미지, 영상, 파일 등 거의 모든 형태의 데이터들을 전송할 수 있게 되었습니다. HTTP의 역사HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더 xHTTP/1.0 1996년: 메서드, 헤더 추가HTTP/1.1 1997년: 현재 가장 많이 사용하는 버전 (가장 중요 !)HTTP/2 2015년: 성능 개선HTTP/3 진행 중: TCP..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. 클라이언트가 https://www.google.com:433/search?q=hello&hl=ko로 서버에 요청을 보냈다고 가정해 봅시다.1. 먼저 DNS 서버에서 www.google.com에 해당하는 IP 주소를 조회한 뒤,2. 프로토콜 정보(443)를 찾습니다.3. 이 IP 주소와 프로토콜 정보를 기반으로 HTTP 요청 메시지를 생성합니다. 이 HTTP 요청 메시지를 서버에 전달하려면 어떤 과정을 거쳐야 할까요?HTTP 메시지 전송 과정위 과정을 통해 HTTP 메시지가 서버로 전송됩니다. 1. 서버가 HTTP 요청 메시지가 담긴 TCP/IP 패킷을 받으면,2. TCP/IP 껍데기는 버리고 HTTP 메시지를 해석하여 요청에 맞는..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. URI? URL? URN? 이 익숙한 용어들, 정확히 어떤 차이가 있을까요? URL과 URN은 URI에 포함되는 개념입니다.이제 이 헷갈리는 아이들을 하나하나 살펴보도록 하겠습니다 🤓 URI란?URI(Uniform Resource Identifier), 말 그대로 리소스를 식별하는 것입니다. 사람을 식별할 때 주민번호로 식별할 수 있듯이, 자원을 식별할 수 있는 방법을 말합니다. Uniform: 리소스를 식별하는 통일된 방식Resource: URI로 식별 가능한 모든 자원Identifier: 다른 항목과 구분하는 데 필요한 정보 URL이란?URL(Uniform Resource Locator), 말 그대로 리소스가 있는 위치를 지..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. 모든 사이트의 IP 주소를 외우는 것은 쉽지 않은 일입니다. IP 주소는 복잡하기 때문이죠. 만약 외웠다고 해도, 어느 순간 변경되어 있을 수도 있습니다. 이런 문제들을 해결해 주는 것이 바로 DNS(Domain Name System) ! 입니다. DNS란?각 IP 주소에 도메인 이름을 부여하여 IP 주소를 쉽게 사용할 수 있도록 해주는 시스템입니다. DNS 서버는 마치 전화번호부 같이 IP 주소와, 이에 해당하는 도메인 이름을 가지고 있습니다.ex) google.com → 200.200.200.2 / tistory.com → 100.100.100.1 DNS 원리클라이언트가 도메인 주소로 DNS 서버에 요청을 보내면,DNS 서버에..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. 오늘은 PORT에 대한 글을 짧게 작성해보려고 합니다 ! 저번 포스팅에서 미국에 사는 친구한테 편지를 보낸다는 예시를 들었는데요, 그 친구가 알고 보니 아파트🏢에 살고 있었다고 가정해 봅시다. 그런데 만약 호수를 적지 않은 채로 편지를 보낸다면 어떻게 될까요 ? 집배원 분은 그 편지를 어느 집으로 배달해야 할지 혼란스러우실 겁니다. (실제로는 경비원 같은 곳에 맡기겠지만요 ㅎ) 그렇기 때문에 꼭 호수까지 적어 안전하게 편지가 배달되도록 해야 합니다.  PORT란?컴퓨터 한 대 당 IP 주소 하나가 할당됩니다. 우리는 그 컴퓨터로 게임을 하면서 친구랑 메시지도 하는 등, 동시에 여러 클라이언트와 통신하는 일이 대다수입니다. 그런데..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. TCP(Transmission Control Protocol)는 IP에서 발생하는 수많은 문제점들을 해결하기 위해 나온 프로토콜입니다.(IP 프로토콜의 한계가 궁금하신 분들은 이전 포스팅을 참고해 주세요 !) TCP에 대해 알아보기 전, 먼저 인터넷 프로토콜 계층을 살펴보겠습니다. 인터넷 프로토콜 스택의 4 계층 인터넷 프로토콜 스택은 다음과 같이 구성되어 있습니다.IP 위에 TCP를 얹어 보완한 느낌이라고 생각하면 될 것 같습니다. 프로토콜 계층강의를 듣고 리마인드 하는 시간을 가지면서 이런 그림들을 직접 그려보는데요, 직접 그린 그림으로 첨부하고 싶지만 .. 저에게는 패드가 없기 때문에 영한님의 자료를 살짝 가져오도록 하겠습니..
·HTTP
'모든 개발자를 위한 HTTP 웹 기본 지식' 강의를 보고 정리하였습니다. 영한님의 스프링 MVC 강의를 듣기 시작했습니다. 그런데 강의 초반부에 영한님께서 HTTP를 공부한 후에 듣는 것이 좋다고 하셔서, 빠르게 HTTP를 공부해 보려고 합니다. 🤓 인터넷 네트워크란 ?통신할 컴퓨터끼리 가까이 있으면 케이블로 연결해서 쉽게 통신할 수 있습니다. 하지만 통신해야 할 컴퓨터끼리 멀리 떨어져 있는 게 보통입니다. 그래서 필요한 것이 바로 인터넷 망입니다. 우리는 이 인터넷 망을 통해 멀리 떨어져 있는 컴퓨터와 통신할 수 있게 됩니다. 인터넷 망은 수많은 노드들과 규칙들로 복잡하게 이루어져 있습니다. 이 복잡한 규칙 속에서 어떻게 안전하게 데이터를 주고받을 수 있는 걸까요 ? 이를 알기 위해서는 먼저 IP(..
kyer5
'HTTP' 카테고리의 글 목록