본문 바로가기

JAVA 공책/수업 메모

URL

URL 통신


{URL}

- 인터넷 상의 자원의 위치를 나타내는 방법
1. 구성
프로토콜://도메인 or ip주소:포트번호/파일경로?파라미터이름=값&....
프로토콜 : 생략 불가능. 필수
- http : HTML을 주고 받기 위함 (기본 포트 : 80)
- https : HTML을 주고 받기 위함 (네이버와 다음 모두 바꾸었다) (기본 포트 : 443)
도메인 or ip주소 : 필수. 구분이 필요하므로
포트번소 : 프로토콜의 기본 포트를 사용하는 경우는 생략가능.
- https://www.naver.com:443
파일경로 : 정확하게는 파일경로가 아닌 요청주소라고 합니다. "서버 설정"에 따라 생략가능합니다.
- https://www.naver.com/index.html
파라미너이름=값&... : 그냥 생략가능
- 파라미터 : 클라이언트가 웹서버에게 전달하는 데이터.
- 숨겨서 줄 수 있고 숨기지 않고 줄 수도 있다. : 숨겨서 주면 보안이 좀 낫다 하지만 속도는 숨기는게 더 느리다. (겟방식, 호스트방식이라고 함)


안숨겼을 때



숨겼을 때(로그인 정보 등)





2. URL은 반드시 인코딩을 해서 작성.
1)한글 인코딩
※ 참고
-는 쓴 곳이 있고 안쓴 곳이 있어서 넣고 빼고를 해봐야 한다.

ːeuc-kr
- 한글만 처리가능. 예전에 많이 사용 IE하위버전
ːutf8
- 전세계 모든 문자 처리 가능(애플, 구글, 공공기관 홈페이지)

2)인코딩 관련 클래스
URLEncoder : 인코딩 (encoding)
URLDecoder : 디코딩 (decoding)
문자열, 인코딩 방식
3)URL 관련 클래스 : URL
예외처리 반드시 해야함.

3. URLConnection - 추상클래스
- URL 통신을 하기 위해서 URL과 연결하는 클래스.
- URL 은 주소까지만 만들고 연결은 URLConnection이 합니다.
- URL 객체의 openConnection()으로 생성
- 만들고 나면 HttpURLConnection 이나 HttpsURLConnection으로 강제 형변환해서 사용해야 합니다.
- openConnection으로 연결할 때 적절한 클래스의 인스턴스를 만들어서 리턴하는데 URLConnection으로 저장해서 리턴
- 옵션을 설정할 수 있는 메소드와 getInputStream()과 getOutputStream()이 존재

스레드.
스레드를 안 쓰면 다운로드 하는 동안 다른 작업을 할 수 있도록 스레드로 다운로드 받는 것을 권장합니다.
안드로이드는 권장이 아니라 필수로 스레드로 다운로드 받아야 합니다.

웹은 통켓이 스레드를 만들어 주기 때문에 내가 만들 필요가 없다.
하지만 다른 곳은 내가 만들어서 써야 합니다.
아이폰은 권장 사항입니다.







'JAVA 공책 > 수업 메모' 카테고리의 다른 글

DB(Oracle)_Database&Oracle  (0) 2018.07.25
통신  (0) 2018.07.24
MulticastSoket22  (0) 2018.07.24
MulticastSoket  (0) 2018.07.24
조건문&반복문  (0) 2018.07.23