클라이언트 - 사용자 ( 크롬, 파이어폭스 , 사파리 )
GET
POST
HyperText Transfer Protocol
HyperText란 하이퍼링크를 통해 다른 문서로 접근할 수 있는 텍스트다.
HTML이란 HyperText Markup Language로 하이퍼텍스트 마크업 언어로 웹 페이지에서 하이퍼텍스트, 이미지, 영상 등을 표현하기 위해 사용된다.
마크업 언어란 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어다. (XML, HTML...)
HTTP란 WWW 상에서 컴퓨터끼리 정보를 주고받을 수 있는 프로토콜로 주로 HTML을 주고받는다. TCP와 UDP를 사용하며 80번 포트를 사용한다.
HTTPS란 HTTP에 Secure가 붙은것으로 HTTP의 보안이 강화된 버전이다. 소켓 통신에서 일반 텍스트 대신에 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다.
SSL(Secure Socket Layer: 보안 소켓 레이어)는 현재 IETF에 의해 사용 중지되었으며, 이것은 TLS(Transfer Layer Security: 전송 계층 보안)로 명칭이 변경되었다.(하지만 혼잡성을 줄이기 위해서인지 아직도 명칭만을 SSL이라고 많이 사용한다.) 이것은 TCP/IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해준다.
IETF(Internet Engineering Task Force)란 인터넷의 운영, 관리, 개발에 대해 협의하고 프로토콜과 구조적인 사안들을 분석하는 인터넷 표준화 작업기구이다.
전송계층이란 OSI 7계층 중 4번에 속하는 계층으로 가장 잘 알려진 프로토콜로 TCP, UDP가 있다.
TCP(Transmission Control Protocol: 전송 제어 프로토콜)란 인터넷 프로토콜 중 하나로 연결 지향 방식이며 안정성이 높은 방식이다. 데이터를 순차적으로 보내는게 보장되어 있다. 만약 데이터가 유실되면 재전송 요청을 보내기 때문에 신뢰성이 있다. 웹 브라우저들이 WWW에서 서버에 연결할 때 사용되며, 이메일 전송이나 파일 전송에도 사용된다.
UDP(User Datagram Protocol: 사용자 데이터그램 프로토콜)란 비연결 지향 방식이며 데이터의 전달 확인 및 순차 보장 기능이 없는 대신 오버헤드가 작고 지연시간이 짧다. 속도가 중요시되고 화질이 뭉개져도 괜찮은 영상 스트리밍 서비스에 적합하다.
www는 서브도메인으로도 많이 사용하면서
월드 와이드 웹 의 줄임말입니다. 더줄여서 웹이라고도 말해요.
www는 인터넷을 통해서 컴퓨터가 컴퓨터간의 정보를 공유할 수 있는 공간을 말해요.
http는 하이퍼 텍스트 트랜스퍼 프로토콜 의 줄임말입니다.
통신규약이에요.
클라이언트가 브라우저를 이용해서 서버에게 웹문서를 요청하고 서버는 요청을 받아서 알맞은 웹문서를 전달해줍니다. 그러면 브라우저는 클라이언트에게 그 웹문서를 띄워주는것이구요.
그런데 여기서 클라이언트와 서버간의 약속이 있어요. 하이퍼텍스트 문서의 양식으로 주고받자! 라고 약속을 합니다. 이것이 http 통신규약입니다.
html 은 위에서 설명드린 http통신규약과 연관이있습니다.
http 가 하이퍼텍스트 문서의 양식으로 주고받자고 약속한거라고했죠?
여기서 html 은 하이퍼텍스트 문서의 양식 이라고 생각하면 쉬워요.
하이퍼 텍스트 마크업 랭귀지 라고 합니다. 그래서 html 로 문서를 작성해서 http방식으로 주고받는거에요.
xml 은 데이터를 주고받는 양식 또는 약속 입니다.
서버컴퓨터들은 모두 각각 다양한 프로그래밍으로 요청을 처리하고있어요.
node.js 로 만들어진 서버도 있구요. php로 만들어진 서버도있구요. 아주 다양합니다.
그런데 이렇게 다양한 서버들이 서로 자기만의 언어방식으로 데이터를 주고받으면 곤란하겠죠?
그래서 이것또한 약속을 합니다. 자기가 사용하는 언어가 어떻든간에 xml 작성 방식으로 데이터를 주고받자!
라고 약속한겁니다.
'programming > Computer' 카테고리의 다른 글
No AMD graphics driver is installed 오류 해결방법 ( 파일첨부 ) (2) | 2020.08.28 |
---|---|
cmd 단축키 모음 (0) | 2020.06.12 |
Computational Thinking (0) | 2020.06.05 |
Algorithm 이란? (0) | 2020.05.30 |
컴퓨터 메모리 단위 (0) | 2019.07.12 |