본문 바로가기

Til

til 24.04.24

HTTP는 Hyper Text Transfer Protocol의 약자

데이터를 주고받는 웹의 기초를 이루는 약속

- 클라이언트가 서버로 메시지를 보내는 요청과, 서버가 클라이언트로 메시지를 보내는 응답으로 이루어져 있음. 이 프로토콜은 무상태(Stateless)와 비연결성(Connectless) 특성을 가지고 있어, 요청과 응답이 독립적으로 이루어지고 연결이 유지되지 않음

 

HTTP 메시지의 구조는 요청과 응답이 비슷-  시작 라인(Start Line), HTTP 헤더(Headers), 빈 줄(Blank Line), HTTP 본문(Body)으로 이루어져 있음

요청은 클라이언트가 서버로 전달하여 원하는 작업을 수행하도록 하는 메시지

응답은 서버가 요청에 대한 답변

 

HTTP 요청은 다양한 메서드(Methods)를 사용하여 자원에 대한 행동을 표현

ex) GET, POST, PUT, DELETE 

HTTP 상태 코드는 요청의 성공 여부를 나타냄

1XX는 정보 응답

2XX는 성공적인 응답

3XX는 리다이렉션

4XX는 클라이언트 오류 응답

5XX는 서버 오류 응답

 

URI(Uniform Resource Identifier)는 인터넷의 자원을 식별하는 유일한 문자열

URL(Uniform Resource Locator)은 자원의 위치- 웹 주소나 링크

URL은 Scheme, Host, Port, Path, Query, Fragment로 구성

 

:80
Port
리소스에 접근할 때 사용되는 일종의 문(게이트)

HTTP의 기본 포트는 80

 HTTPS의 기본 포트는 443


/path/to/resource/
Path
웹 서버에서의 리소스 경로

초기에는 실제 물리적인 위치를 가리켰지만- 현재는 추상화된 형태로 사용


?key=value
Query(Identifier)
웹 서버에 제공하는 추가적인 변수

Key=Value 형태로 구성되며, 여러 개의 변수는 &로 구분


#docs
Fragment(Anchor)
해당 자원 안에서의 특정 위치, 즉 북마크를 나타냄

주로 HTML 문서의 특정 부분을 보여주기 위해 사용

 

 

API는 어플리케이션 간의 프로그래밍적인 소통 방법

- 기계끼리나 소프트웨어끼리 데이터를 주고받을 수 있음

그 중 RESTful API는 REST(Representational State Transfer) 원칙을 따르는 API로, 자원을 URI로 표현하고 HTTP Method를 통해 해당 자원에 대한 행위를 나타냄

일반적으로 JSON 형식을 통해 데이터를 주고받음

-> 요청의 형식만으로도 어떤 동작이 이루어지는지 예측할 수 있음

JSON (JavaScript Object Notation) - 데이터를 표현하기 위한 형식 중 하나

JSON은 JS 표기법을 따르며, key-value 형식으로 데이터를 표현

파일 확장자는 일반적으로 .json

문자열은 큰 따옴표로 묶여야 함

JSON은 사람이 읽기 쉽고 프로그래밍으로 파싱하기 쉬우며, 데이터를 표현하는 데에 널리 사용됨 ㅇㅇ