HTTP란 뭘까???
HTTP는 HyperText Transfer Protocol의 약자로 클라이언트와 서버 간 데이터를 주고 받는 규칙을 정의한 프로토콜이다.
HyperText는 문서 간의 연결이 가능한 텍스트를 의미한다. 하이퍼링크를 포함하여 문서(또는 다른 형태의 데이터)간 이동과 상호 참조를 가능하게 한다.
예를 들어, 우리가 구글에 무언가를 검색해서 결과 중의 하나를 클릭하면 하이퍼텍스트를 통해 해당 페이지로 이동하게 된다.
그런데, HTTP는 단순히 하이퍼텍스트를 주고받는 것에 그치지 않고 클라이언트에서 필요한 리소스를 요청하면 서버에서는 웹 페이지를 구성하는 HTML, CSS, JavaScript, 이미지 등의 다양한 리소스를 응답한다.
결국! HTTP는 클라이언트와 서버 간 모든 데이터 전송을 담당하는 핵심 프로토콜이다.
HTTP 메서드와 상태 코드를 알아보자
우선 메서드에는 GET, POST, DELETE, PUT, PATCH가 있다.
GET: 데이터를 가져올 때 사용하는 메서드. 서버에 영향을 미치지 않는 읽기 전용 요청
POST: 서버에 새로운 리소스를 생성할 때 사용
DELETE: 리소스를 삭제할 때 사용
PUT: 리소스를 전체적으로 덮어쓰기. 요청된 데이터를 기반으로 리소스를 새로 생성하거나 교체.
PATCH: 리소스의 일부를 수정할 때 사용. 전체를 덮어쓰는 PUT과 달리, 변경된 부분만 업데이트.
상태코드에는 100~500번대가 있다.
100번대는 처리중이라는 뜻이고
200번대는 잘 처리되었다.
300번대에는 리소스의 이동, 리다이렉션 관련 상태
400번대는 클라이언트 오류.
500번대는 서버 오류.
그럼 HTTPS는 뭘까?
S는 Secure의 약자로 기존 HTTP가 보안에 취약하다는 문제를 해결하기 위해 만들어졌다. 데이터가 전송되는 동안 암호화, 인증, 무결성을 제공하고 TLS라는 암호화 프로토콜을 사용하여 데이터를 안전하게 전송한다. (현재는 SSL은 많이 사용되지 않음..)
마지막으로 DNS에 대해 알아보자~
DNS는 Domain Name System의 약자로, www.naver.com 또는 www.google.kr 과 같은 주소를 주소창에 입력하고 엔터를 클릭하면 그에 대응하는 사이트에 접속할 수 있도록 도와주는 서비스이다.
이는 어떻게 작동될까??
사실은 원래 사이트들의 주소는 IP로 되어있다. 이 숫자들을 몇십 몇백개씩 사람이 외운다는 것은 불가능하다! 이를 해결하기 위해 위와 같은 이름으로 IP와 대응시켜준 것이 Domain Name이다.
주소창에 도메인을 입력하면 컴퓨터는 반대로 그에 대응하는 IP주소를 찾고 그 IP주소로 접속하여 우리에게 원하는 사이트에 접속할 수 있게 해준다.
'JSCODE 컴퓨터 네트워크 스터디' 카테고리의 다른 글
1주차 컴퓨터 네트워크 (0) | 2025.01.02 |
---|