HTTP Method
종류 |
기능 |
GET |
데이터 조회 |
POST |
요청 데이터 처리(보통 데이터 등록 사용) |
PUT |
데이터 변경 (해당 데이터가 없으면 생성) |
PATCH |
일부 데이터만 변경 |
DELETE |
데이터 삭제 |
1) HTTP 1.0
- 단기 커넥션(shrot-live connections) : 요청 날릴 때마다 커넥션 맺고 끊어짐
- Request를 날릴 때마다 Connection을 새로 생성해야 함
- Data를 압축해서 전달 가능하도록 하여 전달하는 Data 양이 감소
2) HTTP 1.1
- 지속 커넥션(Persistent connection) : 커넥션 재사용 가능
- HTTP 파이프라이닝(Pipelining) : Request를 미리 여러 개 서버에 날릴 수 있음 (이전엔 리퀘스트 하나보내고, Response 받고, 그 다음 request 보내는 방식이었는데, 파이프라이닝 방식에서는 Request를 연속적으로 보내놓고 Reponse를 받는 방식)
- 단점 : Head Of Line Blocking => 요청한 Request에 문제가 생겨 응답이 늦어지면 그 다음 Request의 응답들도 같이 늦어짐
3) HTTP 2.0
- Multiplexing : 프레임 단위로 나눠서 전송 관리 가능하게 됨 (다수의 요청과 응답이 가능한 구조)
- 데이터 전송 방식 : 바이너리로 인코딩하여 전송
- ServerPush 사용 : 브라우저에서 필요한 리소스들을 서버가 알아서 찾아다가 내려주는 것
- 캐싱되지 않은 리소스를 받아올 때
- 페이지에서 필요한 리소스가 페이지를 내려주는 서버에 있을 때
HTTP(HyperText Transfer Protocol)
- 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약
- 80 port
- HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재 → 이런 보안 문제를 해결해주는 프로토콜이 ’HTTPS’
HTTPS(HyperText Transfer Protocol Secure)
- 인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 사용해 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약
- 443 port
- HTTPS는 텍스트를 암호화 (공개키 암호화 방식으로)
- SSL은 대칭키, 공개키 함께 사용
- 데이터 전달 시 대칭키를 쓰고, 그 대칭키를 교환할 때는 공개키 사용