Develop/기초지식
HTTP / HTTPS 대한 기본 정리
동석해요
2022. 12. 31. 16:02
728x90
SMALL
1. HTTP(HyperText Transfer Protocol): 웹 서버와 클라이언트가 리소스를 교환하기 위해 사용하는 프로토콜. 클라이언트가 요청하면, 서버가 응답하는 방식.
- 프로토콜(Protocol): 규격화된 상호작용에 적용되는 약속
2. HTTP 메시지: HTTP 서버와 클라이언트가 교환하는 데이터. 헤드와 바디로 구성되며, 각 줄은 CRLF로 구분됨.
- 헤드: 메시지에 대한 정보. 헤드의 끝에는 CRLF가 한 줄 있음.
- CRLF(Carriage Return / Line Feed)를 의미하며 키보드의 엔터키와 동일한 기능("개행", "줄 바꿈")
- 바디: 클라이언트가 서버에게, 또는 서버가 클라이언트에게 전달할 데이터
3. HTTP 요청(Request): 클라이언트가 서버에게 특정 동작을 요청하는 메시지
- 메서드(Method): 요청 URI가 가리키는 리소스에 대해, 서버가 수행했으면 하는 동작을 지정
- ex) GET, POST, PUT, DELETE
- 요청 URI(Request-URI): 메서드의 대상이 되는 리소스를 지정
4. HTTP 응답(Response): 요청을 처리한 결과 및 이유, 그리고 클라이언트에 전송할 웹 리소스를 포함하는 메시지
- 상태 코드(Status Code): 요청을 처리한 결과
- 처리 사유(Reason Phrase): 상태 코드가 발생한 이유
상태 코드설명대표 예시
상태 코드 | 처리 사유 | 상태 코드 예시 |
1xx | 요청을 제대로 받았고, 처리가 진행 중임 | |
2xx | 요청이 제대로 처리됨 |
|
3xx | 요청을 처리하려면, 클라이언트가 추가 동작을 취해야 함. |
|
4xx | 클라이언트가 잘못된 요청을 보내어 처리에 실패했습니다. |
|
5xx | 클라이언트의 요청은 유효하지만, 서버에 에러가 발생하여 처리에 실패했습니다. |
|
5. HTTPS(HTTP on Secure socket layer): TLS를 이용하여 HTTP의 약점을 보완한 프로토콜
- 전송 계층(TL - Transport Layer): 포트로 데이터를 교환하는 방식
- 보안 전송 계층(TLS - Transport Layer Security): 서버와 클라이언트 사이에 오가는 모든 HTTP 메시지를 암호화
728x90
SMALL