티스토리 뷰
📕 제 2장 웹 프로그래밍 기초 다지기
💬 GET방식
- 웹 서버에 데이터를 보낼 때, URL에 쿼리 스트링의 형식으로 데이터를 전송한다
GET 요청의 발생
1. 웹 브라우저 주소창에 URL을 입력
2. 링크를 클릭하는 경우
3. 입력 form의 method 속성 값이 get인 경우
GET 요청의 장단점
- URL만으로 쉽게 웹 사이트에 접근할 수 있다
- 사용자가 입력한 데이터가 주소창에 그대로 노출 된다 → 보안에 취약
💬 POST방식
- 웹 서버에 데이터를 보낼 때, HTTP프로토콜의 메시지 본문(MessageBody)에 붙여서 전송한다
POST방식의 장단점
- 사용자의 입력값이 URL에 포함되지 않기 때문에 외부에 노출되지 않는다
- 데이터를 URL에 포함하지 않기때문에 URL만으로 결과 화면에 접근할 수 없다
- 바이너리 및 대용량 데이터의 전송이 가능하다
멀티 파트 인코딩
<form action="FileUploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="photo"><br>
</form>
- 바이너리 파일을 첨부하여 웹 서버에 보낼 때에는 멀티 파트 인코딩을 사용해야 한다
- 멀티 파트 인코딩을 위해서는 <form> 태그의 enctype 속성 값을 multipart/form-data으로 설정한다
- 일반 전송에서 데이터의 구분자로 사용되던 & 문자를 바이너리 파일 내용에 있는 경우가 있다
- 그렇기 때문에 & 문자가 아닌, 특별한 구분자를 사용해야 한다
- 멀티 파트 인코딩을 하면, 웹 브라우저에서 구분자를 임의로 생성한다
- 그리고 웹 서버에서는 구분자를 통해 메시지 본문에서 매개변수를 분리한다
'BackEnd > JAVA' 카테고리의 다른 글
[Ch02] 4. 파일 업로드 (0) | 2021.12.10 |
---|---|
[Ch02] 3. POST 요청 (0) | 2021.12.10 |
[Ch02] 2. GET 요청 (0) | 2021.12.10 |
[Ch02] 1-5. HTTP 클라이언트 만들기 (0) | 2021.12.10 |
[Ch02] 1-4. HTTP 응답 (0) | 2021.12.10 |
댓글