19년 WMS 회고록/webInfo
웹 기본적인 내용
Dexlee
2021. 11. 3. 17:57
1. GET과 POST
- GET은 가져오는 것이고 POST는 수행하는 것.
- 이 개념만 잘 생각하고 있으면 상황에 따라서 어느 정도 선택을 할 수 있음.
- 물론 그래도 좀 고민되는 예외상황 존재.
- GET은 Select적인 경향을 가짐.
- GET은 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도이지 서버의 값이나 상태 등을 바꾸지 않음.
- ex) 게시판의 리스트라던지 글 보기 기능 등.
- 방문자의 로그를 남긴다거나 글 읽은 횟수를 올려준다거나 하는 건 예외
- 반면에 POST는 서버의 값이나 상태를 바꾸기 위해서 사용합니다.
- ex) 글쓰기를 하면 글의 내용이 디비에 저장이 되고 수정을 하면 디비 값이 수정이 되고 이럴 경우에 POST를 사용.
GET의 특징
- GET은 정보를 조회하기 위한 메서드
- 서버에게 여러 번 요청을 하더라도 동일한 응답이 돌아와야 한다는 것을 의미.
POST의 특징
- 서버로 데이터를 전송하기 위해 설계
- 서버에게 여러 번 요청을 한다면 응답이 항상 동일하다고 볼 수 없음.
- POST는 서버의 상태나 데이터를 변경시킬 때 사용됨
2. 웹 접근성
https://www.wah.or.kr:444/Accessibility/define.asp
: 웹에 대한 표준, 지침 등이 있다.
3. http protocol 통신
- http 프로토콜은 request 1번에 response 1번으로 통신이 이루어지고 connection을 끊어버리는 stateless 프로토콜
4. http 메시지
- request와 response를 나타냄. request 메시지는 client가 보내고, response 메시지는 server가 보내는 것을 의미.
5. http request
5.0 request line
- method, href, http version이 header 위에 표시됨
5.1 request headers
-host : 요청하는 웹서버의 주소
-user-agent==web browser
등등
5.2 request body
- 실제 서버에 전송되는 데이터
6. http response
6.0 status
- http version, status code, 가 header 위에 표시
6.1 response header
- content-Type:text/html
- body의 내용물이 뭘로 이루어졌는지를 나타냄. 등등
7. http와 https의 차이
- http를 통해 통신을 하고 있다면 누군가가 내 정보를 볼 수 있다. 하지만 https를 사용한다면 전송되는 내용을 가로챈다고 하더라도 실제 그 안의 정보는 암호화되어 있어서 당사자들만 알 수 있다. https가 아닌 사이트에서 로그인을 요구한다면 그 사이트를 이용하면 안 된다.
7.1 http
- 보안에 취약.
7.2 https == ssl
- https의 s는 secure로 안전한이라는 뜻이다.
7.3 cache
- ctrl+f5를 누르면 강제로 cache가 갱신된다.
- cache-control, pragma는 cache를 제어하는 객체이다.
7.4 cookie and web storage
- cookie 값을 웹브라우저에 설정하면 접속할 때마다 서버에 상태를 보내서 사용자의 상태를 유지할 수 있고 사용자를 식별할 수 있다. 최근에는 cookie보다 더 많은 정보를 저장하면서 보안으로 더 우수한 web storage라는 기술이 등장했다.
7.5 proxy server
- 중계서버
- 또 proxy는 웹 브라우저와 웹 서버에 proxy라는 중계서버를 놓을 수 있다. 중간에 서버가 캐시를 대신해주거나 보안과 관련된 공격을 막아주거나 사용자의 요청을 여러 대의 서비스로 분산해주는 역할을 프록시 서버가 대신해줄 수 있다. 이 외에도 많은 역할을 해준다.
7.6 wireshark
- 네트워크를 모니터링해주는 기능.
8. hosting
- server 쪽에서 사용하는 컴퓨터 or 소프트웨어를 제공하는 사업자들을 hosting이라고 부른다. IDC라는 환경에서 비즈니스를 한다. Internet Data Center(건물이다.) 서버가 동작하기에 최적화되어 있는 환경.
- 서버의 운영을 대행해주는 역할을 함.
- web hosting (비용이 저렴) (PaaS)
- 웹 애플리케이션 운영을 위한 모든 것을 제공
- 장점 : 애플리케이션을 업로드만 하면 된다.
- 단점 : 웹 애플리케이션을 위한 용도로만 사용.
- server hosting
- 컴퓨터를 제공 내가 필요한 것을 직접 설치 운영.
- 장점 : 자유도가 높아 모든 것을 할 수 있음.
- 단점 : 직접 운영해야 한다.
9. 클라우드 컴퓨팅
- hosting과 다른 점은 인프라의 질적/양적 발전
- 가상화, on-demand
- 사용량이 일정하다면 hosting도 좋은 선택, 하지만 일정하지 않다면 클라우드가 좋다.
10. servlet
- server + applet : 서버 쪽에서 수행되는 애플릿
- servlet의 라이프 사이클 - init(), service(), destroy()
- 이러한 생명주기를 WAS에서 관리.
- 자바의 서블릿 - javax.servlet, javax.servlet.http
11. jar
- 압축파일
- 여러 개의 클래스 파일을 하나로 묶기 위해 사용.