[웹어플리케이션 아키텍쳐]

· Web Client

     (HTTP request / HTTP response)

· Web Server

· DB Server


[웹 프로토콜 - 통신절차]

· TCP(HTTP)는 3가지 절차를 통해 통신이 이루어진다.

(1) 세션 연결 ( 나는 너와 통신하고 싶다. )

(2) 데이터 송.수신 ( 웹 브라우저에 페이지 로딩 )

(3) 세션 종료 ( 통신 종료 )


<form method="get" action="test.jsp"> </form>

- method default : get(2,083 정도의 길이 데이터만을 처리한다.)


[HTTP Request]

· GET방식

URL 뒤에 이어서 문자열로 서버에 전달을 한다.

URL 뒤에 "?" 마크를 통해 URL의 끝을 알리면서, 데이터 표현의 시작점을 알린다. 

URL에 정보가 그대로 노출되어 보안상 취약하다.

간단한 데이터를 넣도록 설계되어서 전송할 데이터의 제한이 있다.


· POST방식

URL 뒤에 붙여서 보내지 않고 HTTP 바디에 데이터를 넣어서 보낸다.

정보를 드러내지 않아 GET방식 보다 보안에 유리하다.

전송할 데이터의 제한이 없다.


[HTTP Response]

· HTTP Status Code(응답코드) 종류

- 200번 : 요청성공

- 201번 : 원격지서버에 파일 생성

302번 : 페이지이동

- 304번 : 로컬 캐쉬정보이용

- 401번 : 인증실패

- 403번 : 접근금지

- 404번 : 페이지없음

- 500번 : 서버에러


//post 요청인 경우 header 들어가는 스트링

xmlHttp.setRequestHeader('Content-Type', "application/x-www-form-urlencoded;charset=utf-8");

- 설정 안해주면 한글 깨져서 null값이 출력된다.



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

    

<%@ page import="java.sql.*" %>

<%

try{

Class.forName("org.gjt.mm.mysql.Driver");

out.print("driver load success"+"<br>");

}catch(Exception ex){

out.print("driver load fail"+"<br>");

}

String mysqlURL="jdbc:mysql://localhost:3306/test";

//sql database가 있는 url과 접속할 database명

String sID="root";

String sPass="1234";

String sql="insert into student(name, age) values ('홍길동', 30)";

Connection conn=null;

Statement stmt=null;

try{

conn=DriverManager.getConnection(mysqlURL, sID, sPass);

stmt=conn.createStatement();

stmt.execute(sql);

conn.close();

out.print("<h1>추가성공</h1>");

}catch(Exception ex){

out.print("<h1>추가실패</h1>");

}finally{

conn.close();

}

%> 


'SK고용디딤돌' 카테고리의 다른 글

직무교육 13일차(HTML5 API)  (0) 2017.07.26
직무교육 12일차(DB연동)  (1) 2017.07.25
직무교육 10일차(JavaScript)  (0) 2017.07.21
직무교육 9일차(JavaScript)  (0) 2017.07.20
직무교육 8일차(JavaScript)  (0) 2017.07.19

+ Recent posts