일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- venv
- 구글클라우드
- GQL
- 시작
- braces
- Windows
- nohub
- ssh
- jinja2
- Lambda
- 클라우드
- graphQL
- Python
- docker
- 카카오톡 챗봇
- 도커
- 파일권한
- 챗봇
- 노션
- chatbot
- OS
- 카카오 오픈빌더
- 운영체제
- gcp
- cloud
- Mac
- vscode
- flask
- AWS
- 플라스크
- Today
- Total
ForFour
[웹] HTTP 본문
HTTP
HTTP(Hypertext Transfer Protocol)는 인터넷상에서 데이터를 주고받기 위한 서버/클라이언트 모델을 따르는 프로토콜이다. 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다.
작동 방식
클라이언트에서 요청을 보내면 서버는 요청을 처리해서 응답한다. 웹서버는 보통 표준 포트인 80번 포트를 사용.
특징
Connectless & stateless
- 서버 연결, 요청, 응답 순으로 동작을 한 후 연결을 끊는다. 하나의 자원당 하나의 연결을 만든다.
- 따라서 웹 서비스를 다수가 사용하더라도 접속 유지는 최소한으로 하여 더 많은 요청을 처리할 수 있는 반면, 응답을 한 후에 연결을 끊기 때문에 클라이언트의 이전 상태를 알 수가 없다. connectless로부터 파생되는 stateless. 클라이언트가 과거 로그인 성공 기록을 알 수 없음. http는 cookie를 이용해 이를 해결하고 있다.
메세지 구조
- 시작줄
- Request 시, 메서드와 요청 URL, HTTP version ( GET /exam/help.txt HTTP/1.1 )
- Response 시, HTTP version, 상태 코드 및 사유 구절 ( HTTP/1.1 200 OK )
- 헤더
- 요청과 응답 메세지에 대한 메타 데이터를 담고 있다.
- Key/Value 형식으로 나타냄
- 바디
- 전송하고 싶은 실질적인 데이터를 나타냄
- 헤더를 마치고 \n 후에 나타남.
HTTPS??
HTTP 통신을 하는 소켓 부분을 SSL(Secure Socket Layer)이나 TLS(Transport Layer SEcurity)이라는
프로토콜로 대체한다.
즉, HTTPS는 직접 TCP와 통신하지 않고 SSL과 통신한다..
SSL을 사용함으로써 암호화, 증명서, 완전성 보호를 이용할 수 있게 됨.
*SSL : SSL(Secure socket layer)은 HTTP와 독립된 네트워크 보안 프로토콜.
RESTful API
- REST : REpresentational State Transfer
- HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시.
- POST, GET, PUT, DELETE(CRUD)을 명시적으로 구분한다. Open API 서버를 만들기 위해 사용된다.
*swagger : an Interface Description Language for describing RESTful APIs expressed using JSON
References
HTTP 프로토콜이란? :: effortDev HTTP 프로토콜 HTTP 프로토콜이란? REST란? REST API란? RESTful이란?REST와 RESTful API - A MEAN Blog
URI, URL과 URN의 차이프로그래머 인생길.. :: URI와 URL의 차이
https://www.redhat.com/ko/topics/api/what-is-a-rest-api
https://www.redhat.com/ko/topics/api/what-are-application-programming-interfaces
https://brainbackdoor.tistory.com/53
'개념 챙기기' 카테고리의 다른 글
AWS 서비스 종류 (0) | 2021.01.08 |
---|---|
GraphQL (0) | 2021.01.04 |
Docker Basic (0) | 2021.01.01 |
[운영체제] 파일 권한(chmod) (0) | 2020.12.27 |
DNS (0) | 2020.12.22 |