728x90
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
'Develop > 기초지식' 카테고리의 다른 글
자료구조 & 알고리즘 - 1 (0) | 2023.04.10 |
---|---|
코딩 테스트 특강 간단 정리 (0) | 2023.04.10 |
쿠키와 세션의 정의 (0) | 2023.01.31 |
JSON Web Token(JWT) (0) | 2023.01.07 |
인코딩 정의 / 디코딩 정의 (0) | 2022.12.30 |