앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.04.09 - [Computer Science/네트워크] - [네트워크] What is HTTP?
0. 들어가기에 앞서
- HTTP는 두 가지 타입이 있습니다.
- request messge와 response message 별로 나누어져 있고, 이번 글은 requeset message에 대해 설명합니다.
1. HTTP Request Message
- 위의 명령어들은 HTTP request message입니다.
- 보시다시피 모두 ASCII text로 이루어져 있습니다.
- 실제로 5줄로만 끝나는 것이 아니라, 더 많기도 합니다.
- HTTP request message의 첫 번째 줄은 request line이라 불립니다.
- 이어서 오는 줄들은 모두 header line입니다.
- Request Line에는 method field, URL field, HTTP version field가 포합되어 있습니다.
- method field에는 GET, POST, HEAD, PUT, DELETE와 같이 다양한 값이 들어가 있습니다.
- header line에서 Host는 객체가 존재하는 호스트를 특정화 하는 것입니다.
- TCP connection을 함으로써 이미 호스트를 특정화 했는데, 이것이 왜 필요한지에 대한 질문은 스스로 생각해 보세요.
- 두 번째로 header line의 Connection에서 Close는 persistent connection을 끊겠다는 의미입니다. 반대로는 keep-alive가 있습니다.
- user-agent는 내가 옛날에 썼던 글이 있으니 참고해 보길 바랍니다.
- 2022.01.28 - [Python Library/웹 크롤링] - [웹 크롤링 - Python] User-Agent
2. General Format
- request message의 일반적인 형태는 위와 같습니다.
- 아까 method field에는 여러 값이 들어간다고 했는데, GET, POST, PUT, HEAD, DELETE가 대표적입니다.
- GET는 요청할 데이터가 있을 때 보냅니다. 조회, 확인 등에 사용됩니다. 일반적으로 URL의 ? 뒤에 붙여보냅니다.
- POST는 유저가 특정한 데이터를 서버에 추가하거나, 수정할 때 사용됩니다.
- HEAD는 요청한 객체를 제외하고, HTTP message만 요청할 때 사용됩니다.
- PUT은 유저가 특정한 경로에 객체를 업로드하기 위해 사용됩니다.
- DELETE는 유저가 웹서버에서 객체를 삭제하기 위해 사용됩니다.
- 간략하게 설명했지만, 더 자세한 설명이 필요하시다면 다른 글들을 참고해주세요.
참고
경북대학교 컴퓨터학부 COMP0414-001 컴퓨터 망 수업
Computer Networking: A Top Down Approach / James F. Kurose, Keith W. Ross 저 / PEARSON / 2021년
Chat GPT, Bing AI
다음 글에서는 HTTP Response Message에 대해 알아보겠습니다.
2023.04.09 - [Computer Science/네트워크] - [네트워크] HTTP Response Message
감사합니다.
지적 환영합니다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] Cookie (2) | 2023.04.13 |
---|---|
[네트워크] HTTP Response Message (0) | 2023.04.09 |
[네트워크] HTTP - Persistent (0) | 2023.04.09 |
[네트워크] HTTP - Non-Persistent (0) | 2023.04.09 |
[네트워크] What is HTTP? (1) | 2023.04.09 |