Hacking/Web technique / / 2015. 12. 14. 20:38

HTTP (Hyper Text Transfer Protocol)

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
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유