일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 해킹
- lordofsqlinjection
- Python
- Los
- CCE
- 운영체제
- SQLInjection
- 웹해킹
- XSS
- CODEGATE
- SQL
- 알고리즘
- webhacking.kr
- web
- 시스템
- rubiya
- Writeup
- 상호배제
- WebHacking
- 시스템프로그래밍
- 프로세스
- ubuntu
- SQL Injection
- sqli
- hacking
- ctf
- crosssitescripting
- MySQL
- Linux
- webhackingkr
- Today
- Total
One_Blog
WEB Browser와 Server 사이 요청과 응답에 관하여 본문
Web과 브라우저는 서로 통신을 하고, 정보를 주고 받기 위해
요청과 응답이라는 것을 한다.
일반적으로, Browser가 Server에게 보내는 것을 요청,
그 요청에 대해 Server가 Browser에게 보내는 것을 응답이라고 한다.
그렇다면 이 요청과 응답에는 어떤 정보가 담겨있고,
또한 어떤 형태로 주고 받아 질까?
오늘은 이 요청과 응답에 대해 알아보도록 하겠다.
일반 적으로 브라우저가 보내는 요청을 Request, 서버가 보내는 응답을 Response라고 칭한다.
이렇게 서로 리퀘스트와 리스폰즈를 주고 받는 것을 HTTP 통신이라고 한다.
(서로 보내는 데이터가 암호화 되면 HTTPS 통신이라고 한다.)
HTTP 통신 중 우선 요청, 즉 리퀘스트(REQUEST)에 대해 먼저 알아보도록 하자.
(실제 REQUEST의 형태)
해당 사진은 실제 브라우저에서 Youtube에 날린 Request의 형태이다.
구성 요소를 하나 하나 보면서, 어떤 역할을 하는 지 살펴보도록 하자.
GET(HTTP Method)
HTTP의 메서드이다. 이에 대해서 자세하게 설명하기엔 어려우니, 대충
브라우저가 서버에게 "나 이런 요청 보낼거야" 라고 말해주는 것이다.
메서드에 대해선 구글링 해보길 바란다.
HTTP(통신 규약 프로토콜)
Request를 HTTP로 보내는지, HTTPS로 보내는지 말해주는 것이다.
1.1(HTTP 버전)
사용 중인 HTTP의 버전을 나타내준다.
이 첫 줄 아래 정보들을 모두 통틀어서 헤더(header)라고 부르는데, 모두 정리하기엔
글이 너무 길어지니 설명을 구글에게 맡기도록 하겠다.
이번엔 서버에서 보내는 Response, 즉 응답에 대해서 소개해보겠다.
(실제 Reponse의 형태)
HTTP(통신 규약 프로토콜) & (2)
요청과 똑같다.HTTP는 HTTP 방식으로 보내고 있음을 의미하며, 2는 버전을 의미한다.
200(상태 코드)
상태코드는 특정 HTTP 요청이 성공되었는지 알려주는 코드이다.
- 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다.
- 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였습니다.
- 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.
- 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
- 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다.
이와 같은 형태로 이루어져 있으며, 자세한 정보는
https://www.whatap.io/ko/blog/40/
를 참고해주길 바랍니당.
오늘도 제 블로그를 방문해주시고, 글을 읽어주셔서 감사드리며
나중에 한번 더 방문해주시길 바랍니다.
감사합니다!
'웹해킹' 카테고리의 다른 글
MYSQL과 함께하는 로그인 로직 살펴보기 (식별과 인증 - 2) (0) | 2022.10.25 |
---|---|
MYSQL과 함께하는 로그인 로직 살펴보기 (식별과 인증 - 1) (0) | 2022.10.24 |
SQL INJECTION - SQL Query삽입 취약점 (0) | 2022.10.23 |
MYSQL :: INSERT / UPDATE / SELECT / DELETE 구문 (1) | 2022.10.20 |
MYSQL - 데이터베이스와 테이블 생성구문(기초) (0) | 2022.10.19 |