Technique/WEB
-
웹 어플리케이션 서버Technique/WEB 2019. 9. 16. 18:34
웹 서버와 웹 애플리케이션 서버 구분 구분 역할 프로그램 명 웹 서버 웹 클라이언트의 요청을 받아서 요청을 처리하고, 그 결과를 웹 클라이언트에게 응답한다. 주로 정적 페이지인 HTML, 이미지, CSS, 자바스크립트 파일을 웹 클라이언트에 제공할 때 웹 서버를 사용한다. 만약 동적 페이지처리가 필요하다면 웹 애플리케이션 서버에 처리를 넘긴다. Apache httpd, Nginx, lighttpd, IIS등 웹 애플리케이션 서버 웹 서버로부터 동적 페이지 요청을 바당서 요청을 처리하고, 그 결과를 웹 서버로 반환한다. 주로 동적 페이지 생성을 위한 프로그램 실행과 데이터베이스 연동 기능을 처리한다. Apache Tomcat, JBoss, WebLogic, WebSphere, Jetty, Jeus 등 정적..
-
URL 설계Technique/WEB 2019. 9. 16. 16:54
URL의 설계는 웹 서버 로직 설계의 첫걸음이고, 사용자 또는 웹 클라이언트에게 웹 서버가 가지고 있는 기능을 명시해주는 중요한 단계이다. 전체 프로그램 로직을 생각하면서 차후에 로직이 변경되더라도 URL 변경은 최소화할 수 있도록 유연하게 설계하는 것이 중요하다. URL 스킴 : URL에 사용된 프로토콜을 의미 호스트 명 : 웹 서버의 호스트명으로, 도메인명 또는 IP주소로 표현된다. 포트 번호 : 웹 서버 내의 서비스 포트번호이다. 생략 시에는 디폴트 포트번호로 http는 80을 https는 443을 사용 경로 : 파일이나 애플리케이션 경로를 의미 쿼리스트링 : 질의 문자열로, 앰퍼샌드(&)로 구분된 키=값 쌍의 형식으로 표현한다. 프라그 먼트 : 문서 내의 앵커 등 조각을 지정한다. URL을 바라보..
-
HTTP 상태 코드Technique/WEB 2019. 9. 16. 16:39
서버에서의 처리 결과는 응답 메시지의 상태 라인에 있는 상태 코드를 보고 파악할 수 있다. 상태 코드는 세 자리 숫자로 되어 있는데 첫 번째 숫자는 HTTP 응답의 종류를 구분하는 데 사용하며, 나머지 두 개의 숫자는 세부적인 응답 내용의 구분을 위한 번호이다. 100 ~ 500 번대 상태 코드가 정의되어 있는데, 첫 번째 자리 숫자를 다섯 가지 분류로 나누어 사용한다. 메소드명 의미 CRUD와 매핑되는 역할 1XX Informational (정보제공) 임시적인 응답으로, 현재 클라이언트의 요청까지 처리되었으니 계속 진행하라는 의미이다. HTTP1.1 버전부터 추가되었다. 2XX Success(성공) 클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미이다. 3XX Redirection (리다이렉션)..
-
HTTP 처리 방식Technique/WEB 2019. 9. 16. 16:17
HTTP메서드를 통해서 클라이언트가 원하는 처리 방식을 서버에게 알려준다. HTTP 메서드는 여러 종류가 있지만 이중 가장 많이 사용되는 메서드는 GET, POST, PUT, DELETE 4개의 메서드로서 데이터 조작의 기본이 되는 CRUD와 매핑되는 처리를 한다. 메소드명 의미 CRUD와 매핑되는 역활 GET 리소스 취득 Read (조회) POST 리소스 생성, 리소스 데이터 추가 Create(생성) PUT 리소스 변경 Update(변경) DELETE 리소스 삭제 Delete (삭제) HEAD 리소스의 헤더( 메타데이터 ) 취득 OPTIONS 리소스가 서포트하는 메소드 취득 TRACE 루프백 시험에 사용 CONNECT 프록시 동작의 터널 접속으로 변경 GET 지정한 URI의 정보를 가져오는 메소드로 가..
-
HTTP 프로토콜Technique/WEB 2019. 9. 16. 16:04
HTTP( Hypertext Transfer Protocol )는 웹 서버와 웹 클라이언트 사이에서 데이터를 주고받기 위해 사용하는 통신 방식으로, TCP/IP 프로토콜 위에서 동작한다. 우리가 웹을 이용하려면 웹 서버와 웹 클라이언트는 각각 TCP/IP 동작에 필수적인 IP 주소를 가져야 한다는 의미가 된다. HTTP란 이름 그대로 하이퍼텍스트 전송용 프로토콜 이지만, 실제로는 HTML이나 XML과 같은 하이퍼텍스트뿐만 아니라 이미지, 음성, 동영상, 자바스크립트, PDF와 각종 오피스 도큐먼트 파일 등 컴퓨터에서 다룰 수 있는 데이터라면 무엇이든 전송 가능하다. HTTP 메시지 구조 HTTP 메시지는 클라이언트에서 서버로 보내는 요청 메시지와 서버에서 클라이언트로 보내는 응답 메시지 2가지가 있다. ..
-
웹 프로그래밍Technique/WEB 2019. 9. 16. 15:48
HTTP 프로토콜로 통신하는 클라이언트와 서버를 개발하는 것. 웹 클라이언트와 웹 서버를 같이 개발할 수도 있고, 웹 클라이언트 또는 웹서버 하나만 개발할 수도 있다. 웹 브라우저를 통해 네이버에 접속하려고 할 경우, 브라우저가 웹 클라이언트이며, 네이버 서버가 웹 서버가 된다. 즉 웹 클라이언트가 요청하고 웹 서버가 응답하는 클라이언트-서버 프로그램이 동작하는 것이다. Internet Explorer, Chrome, Firefox와 같은 브라우저는 이미 웹 클라이언트로서 개발되어 있기 때문에 웹 프라임웨크를 활용해서 웹 서버를 개발하는 것을 마치 웹 프로그래밍의 전부인 것처럼 착각하기 쉽지만, 실제 프로젝트를 진행하다 보면 웹 클라이언트를 개발해야 하는 상황도 많이 발생한다. 브라우저 이외에도 웹 서버..
-
웹 서버, 웹 어플리케이션Technique/WEB 2017. 6. 13. 10:16
웹 서버 ( Web Server ) 인터넷 상에서 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML 문서와 같은 웹 페이지들을 보내주는 역할을 하는 프로그램. 간단히 말하면 HTTP 요청에 따라 서버에 저장되어 있는 적절한 웹 페이지를 클라이언트에게 전달하는 것 웹 페이지 뿐만 아니라 그림, 스타일 시트, 자바스크립트도 해당 주로 서버에 있는 리소스를 전달하는게 주된 기능이기도 하지만, 클라이언트로부터 컨텐츠를 받는 것도 웹 서버 기능에 포함되어 있다. 제품명 제작사 최신버전 라이센스 아파치 아파치 재단 2.4.4 오픈소스 IIS 마이크로 소프트 8.0 상용( 윈도우 서버 이용시 무료 ) nginx Nginx.inc 1.5.1 오픈소스 GWS 구글 웹 어플리케이션 서버 ( Web Appli..
-
[ 펌 ]HTTP의 새로운 상태 코드: 103 Early HintsTechnique/WEB 2017. 5. 11. 16:57
출처 : https://b.ssut.me/http-status-code-103-early-hints/ HTTP에 새로운 상태 코드인 103 Early Hints가 추가되려 하고 있습니다. HTTP/1.1 및 HTTP2 통신에서의 리소스 배포 최적화를 위해 추가되는데 왜 필요한지, 어떤 장점이 있는지를 이 글에서 설명합니다.HTTP2 Push에 대한 복습우선 HTTP2 Push에 대해 복습해봅시다.H2 Push는 간단히 말해 PUSH_PROMISE 프레임을 사용하여 페이지 응답보다 먼저 해당 페이지에 있는 리소스를 반환하는 스펙입니다.예로 /users 응답은 script.js와 style.css를 포함하고 있다고 가정해보면, HTTP2에서는 SQL 쿼리를 날리고 Users를 가져오는 동안 script.js..