Network 5.HTTP

skh951225·2023년 3월 7일
0

네트워크 기초

목록 보기
5/5

출처 : Youtube

웹을 만들기 위해 사용되는 다양한 기술들

HTTP(HTTPS -> SSL/TLS : 보안을 추가한) : 웹표준을 받아오는 프로토콜

<웹표준:클라이언트에서 동작하는 코드>(Frontend)

  • HTML : 웹 페이지를 채울 내용
  • Javascript : 웹 페이지에 들어갈 기능
  • CSS : 웹 페이지를 예쁘게 꾸밀 디자인

<서버 컴퓨터에서 동작하는 코드, 웹 서버 페이지를 만드는 기술>(Backend)

  • ASP/ASP.NET
  • JSP
  • PHP

DB : 데이터베이스

HTTP 프로토콜

HTTP(HyperText Transfer Protocol)는 www에서 사용되는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 애플리케이션에서 사용되고 있다. 음성,화상 등 여러 종류의 데이터를 MIME로 정의하여 전송이 가능하다. Request / Response 동작에 기반하여 서비스를 제공한다.

HTTP 1.0 은 "연결 수립, 동작, 연결해제" 의 단순함이 특징이다. 하나의 URL은 하나의 TCP 에 연결한다. 그래서 HTML 문서를 전송 받은 뒤 연결을 끊고 다시 연결하여 데이터를 전송하는 방식이다. 여러 데이터를 보내려면 통신 부하 문제가 발생할 수 있어 비효율적이다.

HTTP 1.1은 한번의 연결로 많은 HTTP 요청을 처리할 수 있다.

HTTP 요청 프로토콜


Request line : "request type 공백 URI 공백 HTTP version" 로 구성

  • request type

GET : 클라이언트가 서버에게 문서를 요청
POST : 클라이언트가 서버에게 정보를 전송
:
:
GET 방식 또한 정보를 전송할 수 있다. 하지만 그 정보는 문서를 요청하는데 필요한 정보이고 URI에 포함하여 보낸다.

  • URI(Uniform Resource Identifier)

인터넷 상에서 특정 자원(파일)을 나타내는 유일한 주소를 말한다. scheme에는 7계층 프로토콜이 온다. host 부분에는 보통 도메인 주소를 입력하게 되는데 DNS 서버가 이 도메인 주소를 IP 주소로 바꿔준다. 웹브라우저를 통해 주소를 입력하면 자동으로 포트번호가 80번이나 443번으로 설정되며 보통 생략된다. path 부분은 접근하려고 하는 파일의 경로를 뜻하며 query는 파일에게 전달되는 argument이다.

HTTP 응답 프로토콜


Status line : "HTTP version 공백 상태코드 공백 상태문구" 로 구성

상태코드와 상태문구는 하나의 쌍을 이룬다.
2xx : 클라이언트의 요청이 성공 (eg. 200/OK:client의 요청이 성공했다는 것을 나타낸다.)
4xx : 클라이언트 잘못으로 인한 에러(eg. 403/Forbidden:클라이언트가 권한이 없는 페이지를 요청했을 때, 404/Not Found:클라이언트가 서버에 없는 페이지를 요청했을 때)
5xx : 서버의 잘못으로 인한 에러(eg. 500/Internal Server Error:Server의 일부가 멈췄거나 설정 오류가 발생, 503/Service Unavailable:최대 Session 수를 초과했을 때)

헤더는 부가적인 정보를 담고있다.
HTTP에 대한 학습이 필요하다고 느낀다면 다시 고고

0개의 댓글