HTTP

HyosikPark·2020년 10월 29일
0

Javascript

목록 보기
24/26

HTTP

인터넷에서 데이터를 주고받을 수 있는 규칙
먼저 서버에게 요청에 대한 정보를 담아 보낸다.

ex) GET https://www.zerocho.com HTTP/1.1 : 첫줄 : GET(HTTP메서드), 주소, HTTP 버전
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... 2~3째줄 : 헤더 요청에 대한 정보를 담고 있다. 여기엔 본문이 없다 GET이므로
Upgrade-Insecure-Requests: 1
인터넷 주소창에 주소를 치는것은 GET 요청을 하는 것이다.
요청 메서드 : GET, POST, PUT(전체 수정), PATCH(부분 수정), DELETE
REST : 주소를 자원으로 보고 메서드를 동사로 보는 개발 방식 ex) GET /user 사용자 정보가져오기

헤더

공통헤더 : 요청과 응답에 모두 사용되는 헤더 Content 시리즈는 엔티티 헤더라고 한다.
Date : HTTP 메시지가 만들어진 시각 (자동으로 만들어짐)
Connection : keep-alive로 되어있고 의미없음. HTTP/2에서는 사라짐
Content-Length: 52 요청과 응답 메시지의 본문 크기를 바이트 단위로 표시
Content-Type: text/html; charset=utf-8 컨텐츠의 타입과 인코딩
Content-Language: 사용자의 언어
Content-Encoding: gzip, deflate 컨텐츠 압축 방식

요청 헤더

Host: www.zerocho.com 서버의 도메인 네임이 나타나는 부분
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
현재 사용자가 어떤 클라이언트(OS 브라우저 등)를 이용해 요청을 보냈는지 알 수 있음.
Accept: text/html, image/png 서버에 원하는 타입의 데이터를 요청 콤마로 여러 타입 기술가능
Accept-Charset: utf-8 문자 인코딩을 명시하는 부분
Accept-Language: ko, en-US 원하는 언어
Accept-Encoding: br, gzip, deflate 원하는 컨텐츠 압축 방식
Authorization: Bearer xxxx 인증토큰을 서버로 보낼 때 사용하는 헤더
Origin: 요청이 어느주소에서 시작되었는지 나타냄
Referer: https://www.zerocho.com/category/JavaScript 이 페이지 이전의 페이지 주소가 담겨 있음

응답헤더

Access-Control-Allow-Origin : 프론트주소와 백엔드 주소가 같아야 CORS에러가 안남 즉 허용주소, *은 모든 주소 허용 프로토콜,서브도메인,도메인,포트가 같아야 함
Allow : GET get 요청만 허용하겠다.
Content-Dispositon : attachment; filename='filename.csv' 응답 본문을 브라우저가 어떻게 표시해야하는지 알려줌 inline인 경우 웹 화면에 표시
attachment인 경우 다운로드 됨 파일명 지정 가능
Location: / 300번대 201 Created 응답일 때 어느페이지로 이동할지 알려주는 헤더
Content-Security-Policy: default-src 'self' 다른 외부파일을 불러오는 경우 차단할 소스와 불러올 소스 명시 self는 자신의 도메인 파일들만 가져올 수 있음.

응답

ex) HTTP/1.1 200 OK 첫줄 : 버전, 상태코드, 상태메시지
Connection: keep-alive 헤더 : 응답에 대한 정보
Content-Encoding: gzip
Content-Length: 35653
Content-Type: text/html;

<!DOCTYPE html><html lang="ko" data-reactroot=""><head><title... 
본문 : 브라우저가 본문을 받아 화면에 렌더링한다.

참고

https://www.zerocho.com/category/HTTP

0개의 댓글