Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Relational Database
- CSS Specificity
- react
- 안정 정렬
- 3티어 아키텍처
- skip ci
- 명시도
- NoSQL
- #1인게임개발
- CLI
- UTXO
- Hybrid Blockchain
- ES6 모듈
- Factory 함수
- SQL
- Factory Functions
- Private Blockchain
- solidity
- javascript
- 2티어 아키텍처
- #유니티
- CSS
- caverjs
- short-circuiting
- 텍스트 가운데 정렬
- npm
- 블록체인
- 불안정 정렬
- http 모듈
- IP
Archives
- Today
- Total
짹뚜 스튜디오
[네트워크] HTTP 본문
HTTP (Hyper Text Transfer Protocol)
인터넷에서 웹 서버와 클라이언트가 데이터를 주고받을 때 사용하는 통신 규약, 프로토콜이다. 그래서 브라우저를 열어서 웹 페이지를 방문하거나, 양식을 제출하거나, ajax 요청을 보내는 버튼을 클릭했을 때 HTTP를 이용해서 요청과 응답이 이루어진다.
HTTP의 특징 중 하나는 Stateless이다. 웹페이지를 새로고침하거나 다른 페이지를 이동하면서 새로운 요청을 할 때는 이전에 보낸 요청에 대한 정보를 가지고 있지 않다. 그러므로 HTTP의 요청은 독립적이라고 말할 수 있다.
HTTP Methods
- GET: 서버에서 데이터를 가져온다.
- POST: 서버에 데이터를 보낸다.
- PUT/PATCH: 서버에 있는 데이터를 수정한다.
- DELETE: 서버에 있는 데이터를 지운다.
HTTP Request (요청)
HTTP request는 클라이언트가 서버에 보내는 메시지이다. HTTP request는 다음과 같다.
- start line
- HTTP Headers
- empty line
- body
Start line
요청의 상태를 나타낸다.
<METHOD> <PATH> <PROTOCOL>
예) GET /api HTTP/1.1
- METHOD: 수행할 작업이나 방식을 나타낸다.
- PATH: 요청을 보낼 대상의 주소를 나타낸다.
- PROTOCOL: 웹 서버와 통신을 하기 위해 사용한 HTTP의 버전을 나타낸다.
HTTP Headers
요청에 대한 부가적인 정보를 담고있다.
Body
요청을 할 때 함께 보낼 데이터를 담고 있다. payload라고도 불린다.
HTTP Response (응답)
HTTP response는 서버가 클라이언트에게 보내는 메시지이다. HTTP response는 다음과 같다.
- status line
- HTTP Headers
- empty line
- body
Status line
응답의 상태를 나타낸다.
<PROTOCOL> <STATUS CODE> <STATUS MESSAGE>
예) HTTP/1.1 200 OK
- PROTOCOL: 웹 서버와 통신을 하기 위해 사용한 HTTP의 버전을 나타낸다.
- STATUS CODE: 응답에 대한 상태 코드를 나타낸다.
- STATUS MESSAGE: 응답에 대한 상태 메시지를 나타낸다.
HTTP Headers
응답에 대한 부가적인 정보를 담고 있다.
Body
응답을 보낼 때 함께 보낼 데이터를 담고 있다. payload라고도 불린다. 응답의 경우에는 대부분 body가 포함되어있다.
HTTP Status Code
1xx: Informational
요청을 받았으며 프로세스를 계속 진행한다는 의미이다.
2xx: Success
요청이 성공적으로 받아졌다는 의미이다.
3xx: Redirect
추가 작업이 필요하다는 의미이다.
4xx: Client Error
요청의 문법이 잘못됐거나 요청할 때 필요한 데이터가 없다는 의미이다.
5xx: Server Error
서버에서 유효한 요청에 대해 처리하지 못했다는 의미이다.
주로 사용되는 Status Code
- 200 - OK
- 201- OK created
- 301- Moved to new URL
- 400 - Bad request
- 401 - Unauthorized
- 404 - Not found
- 500 - Internal server error
'개발 공부 > 네트워크' 카테고리의 다른 글
[네트워크] Internet Protocol (0) | 2022.02.22 |
---|---|
[네트워크] Cookie (0) | 2022.02.17 |
[네트워크] Domain과 DNS (0) | 2022.01.26 |
[네트워크] IP 주소와 Port (0) | 2022.01.25 |
[네트워크] URI vs URL vs URN (0) | 2022.01.25 |
Comments