HTTP
인터넷 상에서 웹 서버와 클라이언트가 통신할 때 필요한 프로토콜이며 TCP기반의 응용 계층 프로토콜으로 TCP 3 ways handshacking 과정을 통해 TCP세션이 맺힌 상태에서 동작
1. TCP통신이지만 연결 지향형이 아닌 통신후 바로 서버-클라이언트의 접속이 끊기는 비연결 지향형임
2. HTTP는 평문전송을함 (보안취약)
3. 단방향성의 특징을 가지고있다. 서버에게 요청한사용자를 구분하지못함.
HTTP Request Message(요청메세지) 구조
요청라인 - General Header - Request Header - Entity Header - CRLF - Body
1 (요청) |
GET /home/index.html HTTP/1.1 |
데이터 처리방식(HTTP Method) 기본 페이지 Protocol 버전 |
2(헤더) |
User-agent: MSIE6.0; Windows NT 5.0 |
Web Browser 종류 및 버전 |
3(헤더) |
Accept:text/html; */* |
Web Browser가 처리할 수 있는 Data Type |
4(헤더) |
Cookie: name = value |
HTTP에서는 세션을 유지하는 대신 Cookie(인증정보)를 전송 |
5(헤더) |
Referrer: http://www.naver.com |
현재 페이지에 접속하기 전 경유지(이전 페이지) |
6(헤더) |
Host: www.art1sts.tistory.com |
사용자가 요청한 도메인 |
공백 (CRLF) |
메시지본문 (Body) |
자주사용되는 메소드
Method(메소드) |
|
GET |
요청 라인을 통해서 자원 요청 |
POST |
메시지 본문을 통해 자원 요청 |
PUT |
URL에 자원을 생성 |
DELETE |
URL의 자원을 삭제 |
OPTION |
응답 가능한 HTTP Method 확인 |
GET,POST 는 가장 기본적인 Method이다. 두 메소드의 차이점은 간단히 말하면
GET은 서버에서 데이터를 불러오는 것 / 데이터가 URL에 포함되어 중요정보전송에 적합x / 용량제한있음
POST는 서버에서 데이터를 수정하는 것
ex)
게시물 열람 > GET메소드
게시물 작성 > POST메소드
PUT,DELETE 는 악용될 수 있기에 사용할 수 없도록 설정한다.
OPTION 메소드는 해당 web server에서 허용하는 method의 정보를 확인할 수있
HTTP Response Message (응답메세지) 구조
상태라인 - General Header - Response Header - Entity Header - CRLF - Body
1 |
HTTP/1.1 200 OK |
HTTP Version 상태 코드 |
2 |
Date:Mon, 10 Feb 1997 00:00:00 GMT |
Web Browser 종류 및 버전 |
3 |
Sever: Apache/1.1.1 HotWired/1.0 |
Server,Web Application |
4 |
Content-type: text/html |
처리할 문서의 종류 |
5 |
Last-Modified: Tues, 10 Feb 2000 ... |
수정된 시간 |
공백 라인 |
||
메시지 본문 |
200 |
OK |
요청 성공 |
201 |
Created |
PUT Method에 의해 server에 파일이 생성됨 |
301 |
Moved permanently |
요청 URL 정보를 다른 URL에 요청 (Page 이동) |
302 |
Moved temporarily |
요청 URL 정보를 다른 URL에 요청 (Page 이동) |
400 |
Bad request |
잘못된 요청. 처리할 수 없음 |
403 |
Forbidden |
접근 금지(권한 없음) |
404 |
Not Found |
요청한 페이지 없음 |
500 |
Internal server error |
내부 Server오류 |
HTTP Response Message를 이용해 Server와 Web App , DB의 종류 알아보기
Server |
Data Base |
Application |
IIS |
MS SQL |
ASP |
Apache |
MY SQL |
PHP |
Apache Tomcat |
ORACLE |
JSP |
참조사이트 :
http://luuzun.blog.me/50192158931
http://s2kiess.blog.me/30182409370
'Hacking > Web technique' 카테고리의 다른 글
디렉터리 리스팅(directory listing)취약점 (0) | 2017.02.05 |
---|---|
WAF(Web Application Firewall) 웹 방화벽 (0) | 2016.04.25 |
Cookie, Session (0) | 2015.12.14 |
Encoding(인코딩) (0) | 2015.12.14 |
메타문자 (0) | 2015.12.14 |