-
[Web Programming] Web의 동작, HTTP 프로토콜IT/개발(자바, 서블릿, 스프링 등) 2019. 10. 28. 11:36
내 컴퓨터와 이웃의 컴퓨터는 네트워크로 연결되어 있다.
네트워크를 이용한 서비스를 인터넷 서비스라고 한다.
인터넷 기반 서비스 중 가장 대표적인 것이 WWW(World Wide Web, 줄여서 웹).
그 외 인터넷 기반 서비스로 E-MAIL, Telnet(원격접속), FTP(파일송수신) 등이 있다.
네트워크 기초
프로토콜 약속. 통신규약. 엄격한 형식을 지켜야 네트워크상에서 통신 가능.
ex) Http(Hyper Text Transfer), FTP(File Transfer), SMTP(Simple Mail Transfer), POP(Post Office), DHCP(Dynamic Host Configuration)
IP 네트워크상에서 컴퓨터를 식별할 수 있는 주소. DNS(Domain Name System) server IP주소와 문자열 매핑, ip 주소를 몰라도 도메인 이름으로 접속. PORT 해당 컴퓨터의 프로그램을 구분해줌. URL(Uniform Resource Locator) 인터넷상에서 자원의 위치.
하나의 파일 위치.
URI(Uniform Resource Identifier) 인터넷상에서 자원의 식별자.
id 값에 따라서 여러가지 결과.
URL을 포함하는 개념.
ex) http://www.test.co.kr/test/test.html
URL(O) URI(O)
ex) http://www.test.co.kr/test/test.html?id=1
URL(X) URI(O)
헷깔린다면, 그냥 URI라고 할 것.ㅎㅎ
접근프로토콜://IP주소||도메인이름:포트번호/문서경로/문서이름
http ://www.test.com :80 /test /test.html
인터넷 기반 서비스
이름 프로토콜 포트 기능 WWW HTTP(Hypertext Transfer)
80 웹 서비스 Email SMTP(Simple Mail Transfer),
POP3(Post Office)
25/110 이메일 송수신 서비스 FTP FTP(File Transfer) 21 파일 전송 서비스 DNS(Domain Name System) TCP/UDP 53 도메인 이름과 IP주소를 매핑해주는 서비스 HTTP 프로토콜은 서버/클라이언트 모델을 따른다.
클라이언트가 서버에게 요청(Request)하여, 서버가 클라이언트에게 응답(Response)한다.
그전에 클라이언트와 서버는 연결(Connect)된다.
요청과 응답이 끝난 후, 연결은 끊어진다.(무상태, Stateless) 이전의 정보가 전부 사라지기 때문에 이를 보완하기 위하여, 쿠키와 캐시의 개념이 등장했다.
요청헤더 GET 요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식. /servlet/query?a=10&b=90 요청 URI : 요청하는 자원의 위치를 명시. HTTP/1.1 HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전. Host: www.sk.com User-agent: mozilla/4.0 Accept-language: kr 요청바디 null POST나 PUT일 경우에 요청바디가 존재 응답헤더 HTTP/1.1 HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전. 200 응답 코드 OK 응답 메시지 Date: Thu, 03 jul 2003 12:00:15 GMT 응답 시간 Server: Apache/1.3.0 (Unix) 웹서버 이름과 버전 Content-Length: 6821 컨텐트 길이 Content-Type: text/html 컨텐트 타입 응답바디 <html>
.....
</html>
응답 결과 요청 메서드 정리.
- GET : 정보를 요청하기 위해서 사용한다. (SELECT)
- POST : 정보를 밀어넣기 위해서 사용한다. (INSERT)
- PUT : 정보를 업데이트하기 위해서 사용한다. (UPDATE)
- DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)
- HEAD : (HTTP)헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
- OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청한다.
- TRACE : 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.
https 는 http보다 보안성이 강화된 인터넷 프로토콜이다.
SSL Certificates를 기본적으로 요구함으로써 http에 비해 보안성이 강화되었다.
때문에 보안 이슈가 생길 수 있는 private한 정보를 취급하는 웹사이트에서 널리 쓰이고 있다.
포트는 443포트를 사용하며, 전자상거래 등에 널리 사용되고 있다.
참고
'IT > 개발(자바, 서블릿, 스프링 등)' 카테고리의 다른 글
[Web Programming] 이클립스 퍼스팩티브 영역, 뷰 영역, 에디터 영역 (0) 2019.10.29 [WebProgramming] Web Server, WAS(WebApplicationServer) (0) 2019.10.29 [Java] String indexOf(), lastIndexOf() (0) 2019.10.17 [Design Pattern] 디자인 패턴의 기본이 되는 자바 객체지향개념 (0) 2019.10.13 [SpringFramework] 스프링, 알고 사용하자 (1) 스프링 개요 (1) 2019.09.30