티스토리 뷰
HTTP
- HyperText Tranfer Protocol ( 하이퍼 텍스트 전송 규약 )
- 웹 브라우저와 같은 응용프로그램을 통해 웹 클라이언트와 웹서버 사이 데이터를 전송하는 프로토콜
- 네트워크 패킷을 가로채 볼 수 있다면 내용이 그대로 보이게 되어 보안상 문제가 발생가능
- 애플리케이션 레벨의 TCP/IP기반 프로토콜
- 기본 포트 80
특징
Connectionless
- 연결을 유지하지 않는 방식의 프로토콜
Stateless
- 요청을 독립적인 트랜잭션으로 취급하는 통신
- 이전요청과 다음요청간에 관계가 없기 때문에 저장공간을 동적으로 따로 할당할 필요가 없기 때문에 서버에서는 요청간 관계에 대해 고려할 필요없음
- 때문에 요청시 항상 해석
Request - Response
- request and reply 라고도 함
- 요청을 보내면 요청에대한 응답을 보내는 방식을 의미
HTTP 프로토콜 메소드
- head
- trace
- put
- delete
- connect
- options
- get
- post
GET / POST
- GET
- 데이터를 URL에 포함하여 전송
- 데이터에 한계가 있다 ( 최대 255자 )
- ASCII 형태만 허용
- 속도가 빠르다
- 서버에서 데이터를 불러올 때 주로 사용
- POST
- 메시지 본문에 데이터를 첨부하여 전송
- 데이터양 제한 없음
- 데이터 타입 제한 없음
- 속도 느림
- 서버의 데이터를 수정할 때 주로 사용
HTTP Response Status Code
Range |
Status |
Status Code | Description | 설명 |
1xx |
Information |
|
| 사용자의 요청이 현재 처리되는 중 |
2xx | Success |
200 | OK | 서버가 사용자의 요청을 정상적으로 처리함 |
204 | Not Content | 요청을 정상적으로 처리 했지만 반환할 리소스 없음 응답에 대한 어떠한 엔티티 바디도 포함하지 않음 | ||
3xx |
Redirection |
301 | Move Permanently | 요청된 리소스에는 새로운 URI가 지정되어 있기 때문에 새 URI를 사용함 |
302 | Found | 301과 유사하지만 일시적인 URI 이동 | ||
303 | See Other | 요청에 대한 리소스는 다른 URI에 있기 때문에 GET메서드 사용해서 얻어와야함 | ||
304 | Not Modified | 요청한 리소스가 마지막 요청 이후 변경된 적이 없기 때문에 기존 클라이언트의 로컬 캐시 리소스를 사용하라고 응답 | ||
4xx |
Client Error |
400 | Bad Request | 클라이언트의 요청 구문이 잘못됨 요청을 서버가 제대로 인식하지 못했을 경우를 의미하며 브라우저는 이 응답을 200(OK) 응답과 동일한 형태로 취급 |
401 | Unauthorized | 요청 처리를 위해 HTTP 인증 정보가 필요함을 알려줌( 접근 허용 차단) | ||
403 | Forbidden | 접근 금지 응답 서버가 클라이언트의 요청을 거부하고 있음 | ||
404 | Not Found | 클라이언트가 요청한 리소스가 서버에 없음 | ||
405 | Method Not Allowed | 허용되지 않은 HTTP 메소드를 사용함 | ||
| Server Error | 500 | Internal Server Error | 서버에 오류가 발생하여 요청 수행 불가능 |
503 | Service Unavailable | 서버가 일시적으로 요청을 처리할수 없음 (서버 과부하, 점검중) | ||
504 | Gateway Timeout | 서브를 통하는 게이트웨이에 문제가 발생하여 시간이 초과됨 | ||
505 | Http Version Not Found | 해당 HTTP 버젼에서는 지원되지 않는 요청 |
HTTPS
- HTTP over SSL(Secure Socket Layer)
- HTTP 와 같은 통신 프로토콜이며 쓰임 또한 HTTP와 거의 흡사
- HTTP의 취약점을 보완하기 위해 주고받는 메시지를 암호화
- 공개키 암호화 방식(RSA 암호화 방식)
- 즉 중간에 패킷을 가로채도 암호화되어 있기 때문에 보안상 안전
- HTTP에 비해 많이 느리다
- 기본 포트 443
보안에 좋은 https만을 사용할 수 없는 이유
- https 암호화를 하려면 웹서버에 부하가 생기므로 모든 페이지를 https로 전송 불가능
- 암호화/복호화 할때 필요한 인증키(인증서)를 업체에서 구매해야하므로 비용이 만만치 않음
'Development > Network' 카테고리의 다른 글
[HTTP] 400 Bad Request와 403 Forbidden의 의미 (0) | 2018.07.16 |
---|---|
OSI 7 Layer (0) | 2017.09.04 |
Session & Cookie (0) | 2017.06.30 |
- Total
- Today
- Yesterday
- mariadb설치
- 스프링 부트 시작 에러
- 400 badgateway
- mysql 세팅
- 스택
- mac db설치
- Stack
- 해시알고리즘
- Data Structure
- spring boot org.springframework.beans.factory.BeanDefinitionStoreException
- mysql데이터타입
- 자료구조
- hash알고리즘
- 스프링 부트 에러
- spring boot 시작 에러
- mysql데이터
- mac mariadb
- mac mariadb 설치
- 큐
- HTTP
- mariadb데이터 타입
- mysql 데이터 타입
- mariadb
- org.springframework.beans.factory.BeanDefinitionStoreException
- 400 error
- 알고리즘
- springframewor
- hash algorithm
- 데크
- mariadb 데이터타입
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |