[νμ€ν] HTTP request methods / Proxy Cache
2023. 4. 18. 17:48γComputerScience/FullStackProgramming
Architectural Components of the Web
HTTP Networking
Proxy
- HTTP intermediaries
- Sit between clients and servers
- Web Security
- Application Integration
- Performance Optimization
- μ΄κΈ° HTTP
μΉ μλ²μ μΉ λΈλΌμ°μ μ¬μ΄μ
μ€κ°μ λκ° μλ€λ μμ΄λμ΄ X
- ν΄λΌμ΄μΈνΈμ μλ² μ¬μ΄
ν΄λΌμ΄μΈνΈμ 리νμ€νΈκ° μλ²μκ² μ§μ κ°μ§ μκ³ ,
νλ‘μλ₯Ό κ²½μ ν΄μ μλ²μκ² λ³΄λΈλ€. - μ¬λ΄ νλ‘μ μλ²
νμ¬μμ λκ°λ νΈλν½, λ€μ΄μ¬ λ μλ€.
νλ‘μ μλ²λ₯Ό κ²½μ ν΄μΌ νλ€. - web security
νμ¬ μ°¨μμμ μ μμ κΈμ§ν μ μλ€ by proxy
μλ²μμ μ¨ κ°μ λ°μ΄λ¬μ€κ° μλμ§ κ²μ¬ - application integration
κ³ ν΄μλμ 4K μ΄λ―Έμ§κ° λ€λ₯Έ κ΅κ°λ‘ κ° λ,
μ ν΄μλλ‘ νλ‘μκ° λ³ν - Performance optimization
PDF νμΌ λ±λ± νμΌ μμ² λ§μ (?)
-> νλ‘μκ° μλ΅μ μ£Όλ κ²λ κ°λ₯
μΊμ¬ λ§νλ κ±° μλκΉ?- ν λ² μ μ‘ν λ°μ΄ν°λ, νλ‘μ μμ€ν μ μΊμ¬λ‘ μ μ₯νμ¬ μ±λ₯μ ν₯μν μ μλ€.
- HTTP2 : νλ‘μκ° μ λ©΄μ λ±μ₯
https λΏλ§ μλλΌ μ€κ° μ§μ μμ
νλ‘μκ° λ³΄μμ ν΄μ, 보μλ ν΅λ‘ λ§λ€κΈ° κ°λ₯
ν΅μ μ¬κ° μλ²μμ λ°λ κ°μ λ³Ό μ μμ
HTTP Methods
Case study of each methods using example
1. GET
- The most common method
- Ask a server to send a resource
- μλ²μκ² resourceλ₯Ό λ¬λΌκ³ μμ²νλ λ©μλ
2. HEAD
- The server returns only the headers in the response
- A client to inspect the headers without having to get the resource
- λ³Έλ¬Έμ μ μΈν, GETκ³Ό λμΌν μλ΅μ λ°μ
- GET νκΈ° μ , κ·Έ νμΌμ΄ μ€μ‘΄νλ μ§ νμΈνκ³ μΆμ λ
- λ΄κ° μ΄λ―Έ κ·Έ νμΌμ κ°κ³ μλλ°,
μ λ°μ΄νΈ λ λ΄μ©μ΄ μλ€λ©΄, κ΅³μ΄ λ°μμ¬ νμ X
리μμ€μ μ΅μ’ λ³κ²½ μκ°λ κ°μ΄ μ¨λ€
-> Last-Modified: ꡬ체μ μΈ λ μ§
3. PUT
- Writes documents to a server
- Many server require password before perform a PUT
- 리μμ€λ₯Ό μλ²μ μ λ¬νκ³ , μ μ₯νμμ€
4. POST
- Send input data to the server
- μλ²μ μ
λ ₯μ 보λΈλ€
μ΄ κ°μ μν΄ μλ²μμ λ‘μ§μ΄ λλ€
λ‘μ§ κ³μ° κ²°κ³Όλ₯Ό μλ΅ν΄μ€λ€. - PUTκ³Ό λ¬λ¦¬ μλμ μ 보λ€μ μ λ ₯
- ν¨μμ μ λ ₯ νλΌλ―Έν°
- GET - URLμ μ§μ΄ λ£κ³ κ·Έλ₯ κ°κ³ μ€λ κ² vs
POST - input parameterλ₯Ό ν΅ν΄ dynamicνκ² κ°κ³ μ€λ κ²
μ΄λΌ ? μ΄κ² μλ κ² κ°λ€
- GET λ°©μ - μ½μ λ°©μ
- λ³Έλ¬Έ λ΄μ©μ λ ΈμΆλκΈ° λλ¬Έμ 보μ μ μ·¨μ½
- λ°μ΄ν°λ₯Ό URLμ μ λ¬
- '?' μ¬μ© -> GET
- κ²°μ , μΈμ¦ λ± μ€μν λ΄μ© μμ± μ X
- POSTλ°©μ - νΈμ§ λ΄ν¬ λ°©μ
- μ€μ μλ¨ κ²°μ , μΈμ¦ λ±μ μμ
- λ©μμ§ λ³Έλ¬Έμ λ£μ΄μ μ λ¬
- dataκ° request bodyλ₯Ό ν΅ν΄ μ μ‘λ¨
- PUTκ³Ό GETμ μ€κ° μ§μ ?
5. TRACE
- Clients to see how TRACE request looks when it finally makes it to the server
- λμ λ μ¬μ΄μ νλ‘μκ° μμκΉ?
νλ‘μκ° via field μΆκ°
μλ²λ μ΄λ¬ν νλ‘μμ μ 보λ₯Ό ν΅μΌλ‘ λ³Έλ¬ΈμΌλ‘ λλ €μ€ - λ΄κ° κ°μ§κ³ μλ λ€νΈμν¬μμ
λ΄κ° λ³΄λΈ μ λ³΄κ° μ€λμνλ€
-> λλ²κΉ λͺ©μ μΌλ‘ μ¬μ© κ°λ₯ - KT, SKT ν΅μ μ¬ νΉμ νμ¬ νλ‘μ
μ΄λ° λͺ λ Ήμ μλ΅νμ§λ μλλ€.
6. OPTIONS
- Asks the server to tell us about the various supported capabilities of the web server
- μλ²κ° μ§μνλ κΈ°λ₯μ λνμ¬ λ¬»λ κ²
- λͺ¨λ κΈ°λ₯μ μ§μνμ§λ μμ μ μλ€.
Status Codes
Execution results to a client
-> μ€ν κ²°κ³Όλ₯Ό ν΄λΌμ΄μΈνΈμκ² μλ €μ£Όλ κ²
- Redirected request to new location
- ex) μλ΅ μ½λ 301
- 1) μνλ μ 보λ λμκ² μμΌλ λ€λ₯Έ κ³³μΌλ‘ κ°
- 2) λ¬Έμ§κΈ° μλ²κ° ν΄λΌμ΄μΈνΈμ 리νμ€νΈλ λ€ λ°κ³ ,
λ³ΈμΈμ΄ μ ν©ν μλ²λ‘ μ λ¬ν λ (λ‘κ·ΈμΈ μμμ) - λ‘κ·ΈμΈ νλ μλ²μΈλ°, μ€μ μ μνλ κ³³μ λ€λ₯Έ κ²½μ°
- Request redirected to use local copy (μΊμ κ΄λ ¨)
- HEAD λ©μλλ₯Ό ν΅ν ꡬν
- get method λ΄λΆ, if modified since
- μ΄ μμ μ΄νμ μμ λμμ λλ§ λμκ² λ³΄λ΄μ€
- 304 not modified
μΉ λΈλΌμ°μ λ μΊμ¬μμ κΊΌλ΄μ 보λ΄μ€λ€.
μ΄κ² μΊμ¬μ μ 체 ! - μ₯μ : μ±λ₯ ν₯μ
- λ¨μ : μ©λ λΆν + μλ λλ €μ§ μ μμ
'ComputerScience > FullStackProgramming' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νμ€ν] JSON / RESTful API / CRUD (0) | 2023.04.19 |
---|---|
[νμ€ν] HTTP's streaming / Curl / SOA / Microservice (1) | 2023.04.19 |
[νμ€ν] HTTP/1.1 intro / URL, TCP/IP (0) | 2023.04.18 |
[νμ€ν] ZMQ Pattern (0) | 2023.04.18 |
[νμ€ν] Zero message queue (ZMQ) (0) | 2023.04.17 |