Code Etc/Code Knowledge

[CS] HTTP 파헤치기. HTTP가 뭘까? - CodeHan의 코딩공부

CoderHan 2022. 9. 10. 14:25
반응형

HTTP 역사

HTTP Hypertext Transfer Protocol 약자이다.

Requeset-response 이루어진 프로토콜이다.

HTTPS

HTTP Secure 추가된 것이다.

TLS SSL 보안처리가 된다.

 

Http v1 http https 사용가능 text-based 사이즈가 크다 번에 하나의 파일만 가능

Http v2 https로만 동작할 있다. Binary based protocol이다 header도 압축되어있고 파일도 여러 개를 주고받을 있다.

Http v3 활발히 개발중며 아직 많은 브라우저는 지원하지않는다. TCP베이스에서 UDP 변환중이다.

 

STATUS CODE

서버에서 client한테 정보를 전달할 status code 함께 전달한다.

HTTP표준에서 정의된 것으로 공통적으로 약속된 언어이다.

100 : information

100 : Continue, 102 : processing

200 : succesful

200 : Success, 201 : Created, 204 : No Content

300 : redirection

301 : Moved permanetly, 302 : Found, 303 : See Other, 307 : Temporary Redirection 308 : Permanent Redirect

400 : Client error

400 : Bad Request, 401 : Unauthorized, 403 : Forbidden, 404: Not Found, 405 : Method Not Allowed, 409 : Client

500 : Server error

500 : Internal Server Error, 502: Bad Gateway, 503: Service Unavailable

 

URL

Uniform Resource Locator 약자이다.

Protocol & hostname & path & query 구성되어있다.

Client 서버에 무엇을 원하는지 나타낼 있다.(Request Methods)

GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE 있다.

GET, HEAD, OPTIONS, TRACE Server 읽기만 하는 요청이다.

Safe 안전하다(서버 데이터를 변경하지 않기 때문)

Idempotent : 여러 요청해도 서버상태를 같게 유지할 있는가? O

POST, PUT, DELETE, PATCH Server data 변경할 있는 요청이다.

*PUT url 내용을 전체적으로 업데이트해서 Idempotent Yes이지만 Patch 부분만 Update하므로 Idempotent No이다.

반응형