http
웹 http라는건 tcp를 기반으로 하지만 연결지향적인 성격을 버렸다.
예를 들어 네이버를 로그인을 하게 되더라도 웹서버와 연결된 것이 아니다.
왜냐하면 접속해있으면 리소스를 계속해서 제공하여야 하고 그렇게 되면 자원의 낭비가 생기기때문이다.
연결지향적 성격을 버렸지만 연결되어진 것 처럼 보이는것은 세션과 쿠키 때문이다.
url메타 문자
? parameter를 넘겨줄때 사용
& parameter 구분자
= parameter 전달자
% Hex값으로 표현
+ 공백 문자
웹 구조
Transport(http/https) Connector
Client - Web Server - Application - Database
Client : IE,Opera,Mozila,Chrome
Web Server : IIS, Apache
Application : ASP, JSP, PHP
Connector : ADO, ODBC
Database : MS-SQL, MY-SQL, ORACLE
메소드
get : data를 url에 포함하여 전달, 보안성 떨어짐
post : data를 request body에 포함시킴
head : http header 정보 수신
trace : Request loop back 테스트(명령프롬프트의 ping)
put : URL에 자원 생성
delete : URL에 자원 삭제
options : 가능한 http 메소드 확인
connect : 터널링
프록시
1)사전적 의미
Proxy - 대리, 대리인, 중계
Proxy Server - proxy 기능을 제공하는 서버
2)활용
익명으로 컴퓨터를 유지
보안 및 통제를 뚫고 나가기 위해
악성코드 검사 하기 위한 용도
web언어
SSS(Server Side Script)와 CSS(Client Side Scirpt), html(Hypertext Markup Language)이 있다.
SSS에는 ASP,ASP.NET,PHP,JSP가 있고 서버에서 해석 되어지는 언어이고 때문에 , CSS에는 JavaScript, VBScript, JScript가 있으며 웹 브라우저에서 해석 되어지는 언어이다. 마지막으로 html은 최초의 웹언어로 sss나 css와는 달리 정적이다.
각각 서버 사이드 언어들은 주로 함께 쓰이는 웹서버와 데이터 베이스가 있는데 다음과 같다.
웹서버 웹언어 데이터베이스
Apache php mysql
IIS asp mssql
apache-tomcat jsp oracle
인코딩
내용은 같지만 데이터의 형태를 바꾸는 방법이다. 네트워크상의 안정성의 이유로 쓰이며, 디코딩이 가능하기 때문에 암호화로는 사용하지 않는다. ASCII, URL Encoding, HTML Encoding, Base 64 Encoding, MS Script 등이 있다.
세션과 쿠키
Session - 서버에 데이터가 저장이 된다. 로그인정보와 같은 보안상 중요한 데이터들을 저장할때 쓰인다.
각각 세션은 이렇게 기본값으로 되어있고 저장되어진다. 변경 가능하다.
PHP : PHPSESSIONID
JSP : JSESSIONID
ASP : ASPSESSIONID
Cookie - 사용자의 pc에 데이터가 저장된다. 보안상 중요하지 않은 데이터들을 저장할때 쓰인다.