일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- MySQL
- CodeQL
- JSP
- gotify
- 데이터통신
- LGTM
- SUA
- github
- goKart
- virtualbox
- JDBC
- Network
- OpenSource
- ubuntu
- Python
- DVWA
- Juice Shop
- 백준알고리즘
- 알고리즘
- Database
- sqli
- github action
- Codeup
- gosec
- 자료구조
- OWASP
- juice-shop
- 운영체제
- C언어
- firewall
- Today
- Total
비트(bit)주세요
HTTP 본문
오늘은
- HTTP 1.0 / HTTP 1.1의 차이
- HTTP 상태코드
- HTTP Header
- GET / POST의 차이를 알아보겠습니다.
HTTP 1.0 : TCP Connection당 하나의 URL만 fetch하며, 매번 request, response가 끝나면
연결이 끊기므로 필요할 때마다 다시 연결해야한다
-> 속도가 현저히 느리다.
URL의 크기가 작고 한번에 가져올 수 있는 데이터의 양이 제한되어 있다.
HTTP 1.1 : 인터넷에 캐시를 두어 인터넷 프로토콜 수행이 빠르게 될 수 있도록 성능을 향상시킴
multiple request에 대한 처리가 가능
request/response가 파이프라인 방식으로 진행이 가능
HTTP 상태코드 ======================================================
100번대 : 정보전송
200번대 : 성공
300번대 : 리다이렉션
400번대 : 클라이언트측 에러
500번대 : 서버측 에러
================================================================
HTTP Header
Request(요청) | Response(응답) | |
공통헤더 O | Date Connection Content-Length Cache-Control Content-Type Content-Language Content-Encoding |
|
공통헤더 X | Host User-Agent Accept Cookie Origin Referer Authorization If-Modified-Since |
Server Allow Content-Disposition Location Content-Security-Policy Set-Cookie Expires Etag |
Date : HTTP 메시지 생성 일시
Connection : 일반적으로 HTTP/1.1 , Keep-alive
Content-Length : 메시지의 본문 크기를 바이트 단위로 표시해줌
Content-Type : 컨텐츠의 타입, 문자열 인코딩(UTF-8)을 명시
Content-Language : 사용자의 언어
Content-Encoding : 해당 개체 데이터의 압축 방식
Host : 서버의 도메인 네임
User-Agent : 사용자 클라이언트의 정보
Accept : 클라이언트가 허용할 수 있는 파일 형식
Cookie : 웹서버가 클라이언트에 쿠키를 저장했다면 해당 쿠키의 정보를 이름-값으로 서버에 전송
Origin : POST같은 요청을 보낼 때, 요청이 어느 주소에서 시작되었는지를 나타냄
Referer : 페이지 이동 시 이전 URL의 정보를 나타냄
Authorization : 인증 토큰을 서버로 보낼 때 사용
If-Modified-Since : 페이지가 수정되었으면 최신 버전 페이지 요청을 위한 필드
Server : 서버 소프트웨어 정보
Allow : 해당 엔터티에 대해 서버 측에서 지원 가능한 HTTP 메소드의 리스트를 나타냄
Content-Disposition : 응답 본문을 브라우저가 어떻게 표시해야 하는지 알려줌
Location : 300번대 응답이나 201 Created 응답일 때 어느 페이지로 이동할지를 알려줌
Content-Security-Policy : 다른 외부 파일들을 불러오는 경우, 차단할 소스와 불러올 소스를 여기에 명시
Set-Cookie : 서버측에서 클라이언트에게 세션 쿠키 정보를 설정
Expires : 리소스가 지정된 일시까지 캐시로써 유효함을 나타냄
Etag : HTTP 켄턴츠가 바뀌었는지 검사할 수 있음
Request 패킷에 존재하는 메소드
GET : URL에 파라미터를 포함시켜 요청함, 데이터를 Header에 포함하여 전송함, 캐싱 가능
POST : URL에 파라미터를 노출하지 않고 요청함, 데이터를 Body에 포함하여 전송함, 캐싱 불가능
HEAD : 서버 쪽 데이터를 검색하고 요청하는데 사용됨
OPTION : 자원에 대한 요구, 응답 관계에서 관련된 선택 사항에 대한 정보를 요청할 때 사용됨
PUT : 메시지에 포함되어 있는 데이터를 지정한 URL 장소에 지정된 이름으로 저장
DELETE : URL에 지정되어 있는 자원을 서버에서 지울 수 있게 함
TRACE : 요구 메시지의 최종 수신처까지 루프백 검사용으로 사용됨
'정보보안 > 웹보안' 카테고리의 다른 글
Command Injection (0) | 2021.05.06 |
---|---|
Brute Force Attack(전수공격) (0) | 2021.04.24 |
인증기술과 접근통제 (0) | 2021.04.23 |
Virtual Box - Network (0) | 2021.04.04 |
가상화 (0) | 2021.04.04 |