Web은 HTTP 프로토콜을 사용하여 URL에서 HTML로 작성된 문서이다.
Web server 는 사용자가 요청하는 웹 페이지나 프로그램을 실행하여 해당 파일이나 그 결과를 사용자에게 제공하는
역할을 수행한다.
정적페이지와 동적페이지의 차이
정적페이지
서버에 저장된 파일(HTML,IMG 등...)이 그대로 전달되는 페이지
서버는 사용자가 요청한 웹 페이지를 내보낸다 -> 사용자는 고정된 웹페이지를 보게 된다.
동적페이지
서버 측에 존재하는 데이터들을 스크립트(php,jsp등...)에 의하여 처리 후 생성되어 전달되는 페이지
서버는 사용자의 요청을 해석 후 데이터를 가공하여 웹 페이지를 내보낸다 -> 사용자는 요청에따른 페이지를 보게 된다.
웹서비스의 구조

1. WEB SERVER
클라이언트의 요청(request)을 받아 정적 콘텐츠(html,css)를 처리하는 시스템
종류: Apache, IIS 등
2. WEB APPLICATION SERVER
다양한동적 콘텐츠를 처리한다. 또한 DB의 조회,생성 등의 작업이 가능하다.
HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어이다.
종류: Tomcat, jBoss 등
3. DB
DataBase의 약자로 데이터 저장소
관계형 DB(RDBMS) : MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Oracle Database
비관계형 DB(NOSQL): mongoDB, Redis 등
요청에 따른 분류
1. GET
GET 은 클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드이다.
게시판의 게시물을 조회할때 사용이 가능하다. GET을 통한 요청은 URL 주소 끝에 파라미터로 포함되어
전송되며, 이 부분을 쿼리 스트링이라고 한다. 요청에 길이 제한이 존재한다.
또한 GET요청은 파라미터가 노출되어 보안에 취약하다.
ex)127.0.0.1/exemple?name1=value1&name2=value2
2. POST
POST는 클라이언트에서 서버로 리소스를 생성하거나 업데이트를 하기 위하여 데이터를 보낼 때 사용되는 메서드이다.
게시판의 게시글을 작성하는 작업 등에 사용된다. POST는 전송할 데이터를 HTTP메시지 body부분에 담아서 서버로 전송한다. 길이 제한이 존재하지 않아 큰 데이터를 보낼때 사용한다. GET과 같이 데이터가 외부적으로 드러나지는 않는다.
다만 암호화하지 않으면 보안에 취약한것은 마찬가지이다.
그 외 PUT과 DELETE는 다음에 다뤄보려고 한다.
상태코드
- 1xx (정보): 요청을 받았으며 프로세스를 계속한다
- 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다
- 3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다
- 4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다
- 5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다
자세한 내용은 https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C 참조
프록시에 관하여
프록시 서버는 장치와 인터넷 웹 사이트 간의 중개자 역할을 할 수 있다. 프록시 서버에 연결되면 모든 발신 및 수신 데이터가 프록시 서버를 통과한다. 현재 IP가 프록시 서버의 IP로 대체되어, 모든 온라인 시스템이 장치가 아닌 서버에서 연결하고 있다고 생각하게 된다.
즉 프록시 서버를 이용하면 중간 서버 역활을 담당하므로 사용자가 요청한 서버로 이동하기 전 프록시 서버로 우선 이동한 후 요청한 서버로 이동하기때문에 IP가 대체된다.
Client -> Proxy -> Internet
'웹' 카테고리의 다른 글
| 로그인 기능 구현하기 (0) | 2023.04.03 |
|---|---|
| DB 연결 테스트 (0) | 2023.04.03 |
| GET / POST 메서드로 웹 서버에 데이터 전달해보기 (0) | 2023.04.02 |
| 리눅스(ubuntu)에 APM설치하기 - php & mysql (0) | 2023.04.01 |
| 리눅스(ubuntu)에 APM설치하기 - Apache (0) | 2023.04.01 |