2. HTTP란?
2022. 5. 12. 15:57ㆍ지식정리
HTTP란?
정의
HyperText Transfer Protocol
- Hypertext - 초문서(링크가 있어 문서에서 문서로 넘어갈 수 있음)
- 네트워크로 연결된 장치들 사이 정보를 전달하는 응용 레이어의 통신 규약. OSI 7 layer의 최상단에 있음
- 다른 정의 : HTML 문서 같은 자원을 가져오는 통신규약
- HTTP Request : client에서 request를, Server에서 response를 보내는 과정에 포함됨Client란?
- user-agent : 사용자를 위해 동작하는 모든 도구들. 보통 web에서는 web browser가 그 역할을 한다.
- browser는 항상 request를 시작하는 주체이다.
HTTP request란?
- 웹 브라우저 등이 웹사이트에 정보를 요청할 때 사용하는 방법
- 각각의 HTTP request는 encoding 된 data를 운반함
- http request의 구성
- HTTP version type
- URL
- HTTP method
- HTTP request Headers
- Optional HTTP Body(Post 일 경우)
HTTP Method란?
- HTTP request가 예상한 server가 취해야할 action을 알려준다.
- GET - 정보를 response 할것을 예상/ POST - Client가 web server에 정보를 submit함
HTTP request Header란?
- key-value 쌍
- 필수 요소임
- 브라우저 정보, 요청하는 데이터 같은 핵심 정보를 포함한다.
- Chrome example
- :uthority:, :method:, :path:, :scheme:
- accept:, accept-encoding:, upgrade-insecure-requests:,user-agent:
- 중요한 정보는 좌우에 colon(:) 이 있다HTTP request body란?
- Chrome example
- request가 전송하는 정보의 body 부분을 담는다
- 예시) form에 id, password를 submit 할때 id, password 부분이 body에 담긴다
HTTP response란?
- 브라우저 같은 web client가 HTTPrequest를 보낸 것에 대한 Internet server의 응답
- HTTP response의 구성
- HTTP status code
- HTTP response headers
- optional HTTP body
HTTP status code란?
- HTTP request가 정상처리 되었는지 알려주는 3자리 숫자
- 가장 높은 첫 자리를 기준으로 한 5가지 경우(XX: 00 ~ 99)
- 1XX : Informational
- 2XX : Success
- 3XX : Redirection
- 4XX : Client Error (웹 클라이언트 측 문제)
- 5XX : Server Error (서버측 문제)
- 보통 정상 완료시 200 OK를 볼수 있음
- 없는/잘못된 페이지/자원/경로를 입력하면 404 NOT FOUND
HTTP response header란?
- HTTP response의 header 또한 HTTP request header와 같이 중요한 데이터를 전달한다.
- ex - chrome network tab
- cache-control, content-encoding, content-type, date, status, strict-transport-security, x-frame-optionsHTTP response body란?
- GET 요청에 정상적인 응답을 할 경우 요청한 정보를 body에 담아서 보낸다.
- 보통 HTML data가 담긴 body를 web browser에서 web page로 변환한다.
HTTP is Stateless란?
- TCP는 3 way handshake를 통해 SYN - ACK을 주고 받으며 연결한다. 그리고 server가 client의 session 을 저장한다.
- 반면에 HTTP는 server에 client의 동작, 상태정보를 저장하지 않는다.
'지식정리' 카테고리의 다른 글
4. Web Hosting이란? (0) | 2022.05.12 |
---|---|
3. DNS란? (0) | 2022.05.12 |
1. 인터넷은 어떻게 돌아가는가? (0) | 2022.05.12 |
0. backend roadmap study (0) | 2022.05.12 |
보안, 보안관제 관련 글 정리 (2) | 2021.01.07 |