URI
- Uniform Resource Identifier (통합 자원 식별자)
- 인터넷에서 리소스(자원)를 식별하는 문자열
- 가장 일반적인 URI는 웹 주소로 알려진 URL
- URI = URL로 보는 입장도 있지만, URI는 URL보다 조금 더 큰 개념. URI에 URL이 속해 있다.
URL
💡 Uniform Resource Locator (통합 자원 위치)
- 웹에서 주어진 리소스의 주소
- 네트워크 상에 리소스가 어디 있는지를 알려주기 위한 약속
Schema (or Protocol)
- 브라우저가 리소스를 요청하는 데 사용해야 하는 규약
- URL의 첫 부분은 브라우저가 어떤 규약을 사용하는지를 나타냄
- 기본적으로 웹은 HTTP(S)를 요구하며, 메일을 열기 위한 mailto:, 파일을 전송하기 위한 ftp: 등 다른 프로토콜도 존재
Domain Name
- 요청 중인 웹 서버를 나타냄
- 어떤 웹 서버가 요구되는지를 가리키며, 직접 IP 주소를 사용하는 것도 가능하지만 사람이 외우기 어렵기 때문에 주로 Domain Name으로 사용
- ex. 도메인 google.com의 IP 주소는 142.251.42.142
Port
- 웹 서버의 리소스에 접근하는데 사용되는 기술적인 문 (Gate)
- HTTP 프로토콜의 표준 포트
- HTTP : 80
- ex. 8000 : 80 Port의 00번으로 요청을 보냄
- HTTPS : 443
- 표준 포트만 생략 가능
Path
- 웹 서버의 리소스 경로
- 초기에는 실제 파일이 위치한 물리적 위치를 나타냈지만 오늘날은 실제 위치가 아닌 추상화된, 간접적인 형태의 구조를 표현
- ex. /articles/create/가 실제 articles 폴더 안의 create 폴더를 나타내는 것은 아님
Parameters
- 웹 서버에 제공하는 추가적인 데이터
- ‘&’ 기호로 구분되는 key-value 쌍 목록
- 서버는 리소스를 응답하기 전에 이러한 파라미터를 사용하여 추가 작업을 수행 가능
Anchor
- 일종의 북마크
- 브라우저에 해당 지점에 있는 컨텐츠를 표시
- anchor 부분, 즉 부분 식별자(fragment identifier)라고 부르는 ‘#’ 이후 부분은 서버로 전달되지 않고 브라우저가 처리
⚙️ HTTP Request Methods
대표적인 Methods
1. GET
- 서버에 리소스의 표현을 요청
- GET을 사용하는 요청은 데이터만 검색해야 한다.
2. POST
- 데이터를 지정된 리소스에 제출
- 서버의 상태를 변경
3. PUT
4. DELETE
DRF (Django REST framework)
- Django에서 Restful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈 소스 라이브러리
Serialization
- 여러 시스템에서 활용하기 위해 데이터 구조 또는 객체 상태를 추후에 재구성할 수 있는 포맷으로 변환하는 과정
- 어떠한 언어나 환경에서도 나중에 다시 쉽게 사용할 수 있는 포맷으로 변환하는 과정
ModelSerializer
- Django 모델과 연결된 Serializer 클래스