파일에 저장된 정보의 형태를 다른 것으로 변경하는 것
ex) 아스키코드, 유니코드
규격화된 상호작용에 적용되는 약속
ex) TCP/IP(네트워크 통신), HTTP(웹 어플리케이션), FTP(파일)
서버와 클라이언트의 데이터 교환을 요청과 응답 형식으로 정의한 프로토콜
클라이언트 --요청--> 서버
클라이어트<--응답-- 서버
네트워크에서 서버와 클라이언트가 정보를 교환하는 추상화된 장소
네트워크 포트 중에서 특정 서비스가 점유하고 있는 포트
포트로 데이터 교환 시, 전송계층(Transport Layer)의 프로토콜 따름
ex) TCP, UDP
서비스 포트 사용 시, 전송 계층 프로토콜 같이 표기
ex) HTTP가 80번 포트를 점유하는 상황
--> HTTP의 서비스 포트는? : 80번 포트
ex) HTTP의 서비스 포트 TCP/80 = HTTP 서비스를 80번 포트에서 TCP로 제공 중
운영체제에서 정의하기 나름
보통 0~65535번 사용 // 총 65536개
(HTTP method) (Reques URL) (HTTP version)
(Request Header)
GET /index.html HTTP/1.1
Host: dreamhack.io
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
URL이 가리키는 리소스를 대상을로 서버가 수행하길 바라는 동작
ex) GET, POST, ...
(HTTP version) (Return Code)
(Response Header)
(Response Body)
HTTP/1.1 200 OK
Server: Apache/2.4.29 (Ubuntu)
Content-Length: 61
Connection: Keep-Alive
Content-Type: text/html<!doctype html> <html> <head> </head> <body> </body> </html>
- 1xx : 요청을 제대로 받았고 처리가 진행 중
HTTP 메시지 (종류) = HTTP 요청 + HTTP 응답
HTTP 메시지 (구조) = HTTP 헤드 + HTTP 바디