쇠뿔 도 단 김 에 빼 라!HTTPGet 과 HTTPPost 의 차이 점 상세 설명

5104 단어 HTTPGetPost
오늘 선생님 작업실 에서 프로젝트 를 할 때 갑자기 한 페이지 에 2 가지 다른 전달 유형 이 사용 되 는 것 을 보 았 습 니 다.갑자기 관심 이 생 겨 서 본질 적 인 차 이 를 알 고 싶 었 습 니 다.예전 에 사용 한 것 은 2 가지 용법 을 알 고 있 었 지만 구름 속 에 안개 속 에 있 었 습 니 다.다음은 그 큰 신의 글 입 니 다.
GET 와 POST 는 HTTP 가 요청 한 두 가지 기본 적 인 방법 으로 차이 점 을 말 하려 면 WEB 개발 을 접 한 사람 은 모두 1,2 를 말 할 수 있다.
가장 직관 적 인 차 이 는 GET 가 인 자 를 URL 에 포함 시 키 고 POST 는 request body 를 통 해 인 자 를 전달 하 는 것 이다.
당신 은 자신 이 수많은 GET 와 POST 요 구 를 썼 거나 권위 있 는 사이트 에서 정리 한 그들의 차 이 를 많이 보 았 을 수도 있 습 니 다.당신 은 언제 무엇 을 사용 해 야 하 는 지 잘 알 고 있 습 니 다.
면접 에서 이 질문 을 받 으 면 자신 감과 기쁨 이 넘친다.
너 는 가볍게'표준 답안'을 내 놓 았 다.
GET 는 브 라 우 저 에서 되 돌 릴 때 무해 하 며 POST 는 다시 요청 을 합 니 다.
GET 가 만 든 URL 주 소 는 북 마크 가 될 수 있 지만 POST 는 안 됩 니 다.
GET 요청 은 수 동 으로 설정 하지 않 는 한 브 라 우 저 에서 주동 적 으로 cache 를 요청 합 니 다.
GET 요청 은 url 인 코딩 만 할 수 있 고 POST 는 다양한 인 코딩 방식 을 지원 합 니 다.
GET 요청 인 자 는 브 라 우 저 기록 에 완전 하 게 보존 되 며 POST 의 인 자 는 보존 되 지 않 습 니 다.
GET 가 URL 에 전송 을 요청 한 인 자 는 길이 제한 이 있 고 POST 가 있 습 니까?
매개 변수의 데이터 형식 에 대해 GET 는 ASCII 문자 만 받 아들 이 고 POST 는 제한 이 없습니다.
GET 는 POST 보다 안전 하지 않 습 니 다.매개 변수 가 URL 에 직접 노출 되 기 때문에 민감 한 정 보 를 전달 하 는 데 사용 할 수 없습니다.
GET 인 자 는 URL 을 통 해 전달 되 며 POST 는 Request body 에 놓 여 있 습 니 다.
(본 정 답 은 w3 schools 참조)
"유감스럽게도 이것 은 우리 가 원 하 는 대답 이 아니다!"
진실 을 말 해 주세요.
내 가 GET 와 POST 는 본질 적 으로 다 르 지 않다 고 말 하면 믿 어?
GET 와 POST 의 외 투 를 벗 기 고 솔직하게 만 납 시다!
GET 와 POST 는 무엇 입 니까?HTTP 프로 토 콜 에서 요청 을 보 내 는 두 가지 방법
HTTP 가 뭐 예요?HTTP 는 데이터 가 유 니 버 설 네트워크 에서 어떻게 통신 되 는 지 에 대한 TCP/IP 기반 프로 토 콜 입 니 다.
HTTP 의 밑바닥 은 TCP/IP 입 니 다.그래서 GET 와 POST 의 밑바닥 도 TCP/IP 이다.즉,GET/POST 는 모두 TCP 링크 이다.GET 와 POST 가 할 수 있 는 일 은 같다.GET 에 request body 를 추가 하고 POST 에 url 인 자 를 가 져 가 야 합 니 다.기술적 으로 완전히 통 합 됩 니 다.
그렇다면'정 답'의 그 차 이 는 어떻게 된 것 일 까?
내 가 인터넷 세계 에서 TCP 는 자동차 와 같다.우 리 는 TCP 로 데 이 터 를 운송 하 는데 이것 은 매우 믿 을 만하 고 부품 을 잃 어 버 리 는 현상 이 발생 하지 않 는 다.그러나 길 을 똑 같이 보 이 는 자동차 만 달리 면 세상 은 혼 란 스 러 워 보이 고 급 한 물건 을 보 내 는 자동 차 는 앞 에 화물 을 가득 실은 자동차 에 의 해 길 을 막 혀 교통 시스템 이 마 비 될 것 이다.이런 상황 을 피하 기 위해 교통 규칙 HTTP 가 탄생 했다.HTTP 는 자동차 운송 에 여러 가지 서비스 유형 을 설정 했다.GET,POST,PUT,DELETE 등 이 있다.HTTP 는 GET 요청 을 수행 할 때 자동차 에 GET 라벨(method 를 GET 로 설정)을 붙 이 고 전송 한 데 이 터 를 지붕 위(url)에 올 려 야 기록 할 수 있다 고 규정 했다.POST 요청 이 라면 차 에 POST 라벨 을 붙 이 고 화물 을 칸 에 넣 어야 한다.물론 GET 때 차 안에 몰래 물건 을 숨 길 수도 있 지만 불명 예스 럽 습 니 다.POST 때 도 차 꼭대기 에 데 이 터 를 올 려 바보 같이 보일 수 있다.HTTP 는 행위 준칙 일 뿐 TCP 야 말로 GET 와 POST 가 어떻게 실현 하 는 기본 이다.
하지만 GET 와 POST 매개 변수의 전송 채널(url 또는 requrest body)에 HTTP 가 요청 하 는 것 만 볼 수 있 습 니 다."'정 답'에서 매개 변수 크기 에 대한 제한 은 어디서 나 온 것 일 까?
나의 대만 인터넷 세계 에서 또 다른 중요 한 역할 은 운송 회사 이다.서로 다른 브 라 우 저(http 요청)와 서버(http 요청 수락)는 서로 다른 운송 회사 입 니 다.이론 적 으로 당신 은 지붕 위 에 무한 한 화물(url 에 무한 한 파 라 메 터 를 추가 할 수 있 습 니 다).그러나 운송 회 사 는 멍청 하지 않 습 니 다.선적 과 하역 도 큰 비용 이 있 습 니 다.그들 은 1 차 수송량 을 제한 하여 위험 을 통제 할 것 입 니 다.데이터 양 이 너무 많 으 면 브 라 우 저 와 서버 에 큰 부담 이 됩 니 다.업계 의 성문 화 되 지 않 은 규정 은 브 라 우 저 는 보통 url 길 이 를 2K 바이트 로 제한 하고,서버 는 최대 64K 크기 의 url 을 처리 하 는 것 이다.초과 한 부분 은 처리 하지 않 는 것 을 용서 하 십시오.GET 서 비 스 를 사용 하면 request body 에 데 이 터 를 몰래 숨 겼 습 니 다.서버 마다 처리 방식 이 다 릅 니 다.일부 서버 는 짐 을 내 려 주 고 데 이 터 를 읽 어 주 며 일부 서버 는 무시 하기 때문에 GET 는 request body 를 가 져 갈 수 있 지만 반드시 받 을 수 있 을 것 이 라 고 보장 할 수 없습니다.
자,이제 GET 와 POST 는 본질 적 으로 TCP 링크 이 고 차이 가 없다 는 것 을 알 게 되 었 습 니 다.그러나 HTTP 규정 과 브 라 우 저/서버 의 제한 으로 인해 응용 과정 에서 다소 다르다.
너 는 본문 이 이렇게 끝났다 고 생각 하 니?
우리 보스 는 아직 등장 을 기다 리 고 있어...
이 보스 는 얼마나 신 비 롭 습 니까?인터넷 에서'GET 와 POST 의 차이 점'을 찾 으 려 고 할 때 볼 수 있 는 검색 결과 에 서 는 그 에 대해 언급 한 적 이 없다.그 는 도대체 무엇 일 까...
GET 와 POST 는 또 하나의 중대 한 차이 가 있다.쉽게 말 하면:
GET 에서 TCP 패 킷 만 들 기;POST 에서 TCP 패 킷 두 개 를 생 성 합 니 다.
긴 말:
GET 방식 의 요청 에 대해 브 라 우 저 는 http header 와 data 를 함께 보 내 고 서버 응답 200(데 이 터 를 되 돌려 줍 니 다).
POST 에 대해 브 라 우 저 는 먼저 header 를 보 내 고 서버 는 100 contine 에 응답 하 며 브 라 우 저 는 data 를 보 내 고 서버 는 200 ok(데 이 터 를 되 돌려 줍 니 다)에 응답 합 니 다.
즉,GET 는 자동차 가 한 번 만 다 녀 오 면 물건 을 보 내 고 POST 는 두 번 다 녀 야 한다.첫 번 째 는 서버 에 인 사 를 하고"어이,나 는 잠시 후에 물건 을 보 내 야 겠 어.너희들 은 문 을 열 고 나 를 맞이 해 줘"라 고 말 한 다음 에 나중에 물건 을 보 내 는 것 이다.
POST 는 두 걸음 이 필요 하고 시간 적 으로 많이 소모 되 기 때문에 POST 보다 GET 가 더 효과 적 으로 보인다.이에 따라 야후 팀 은 GET 로 POST 를 교체 해 사이트 성능 을 최적화 하 는 것 을 추천 했다.하지만 이 건 구덩이 야!뛰 어 들 려 면 신중 해 야 한다.왜?
1.GET 와 POST 는 모두 자신의 의미 가 있 기 때문에 함부로 혼용 해 서 는 안 된다.
2.연구 에 따 르 면 인터넷 환경 이 좋 은 상황 에서 가방 을 한 번 보 내 는 시간 과 두 번 보 내 는 시간의 차 이 는 기본적으로 무시 할 수 있다.반면 네트워크 환경 이 좋 지 않 은 상황 에서 두 번 패 킷 의 TCP 는 패 킷 의 완전 성 을 검증 하 는 데 큰 장점 을 가진다.
3.모든 브 라 우 저가 POST 에서 가방 을 두 번 보 내 는 것 이 아니 라 Firefox 는 한 번 만 보 냅 니 다.
지금 면접 관 이'GET 와 POST 의 차이'를 다시 물 었 을 때 당신 의 마음 은 이 렇 지 않 습 니까?
위의 대 신의 이미지 개술 을 보면 저 는 여러분 의 마음 속 에 자신의 생각 과 이 해 를 가지 게 되 었 다 고 믿 습 니 다.먼저 이 대 신 은 자동차의 모델 이미 지 를 통 해 추상 적 인 데이터 전달 과정 을 묘 사 했 습 니 다.아마도 GET 는 POST 보다 더욱 노출 되 고 url 에 직접 노출 되 며 심지어 안전 하지 않 을 것 입 니 다.POST 는 비교적 안전 하지만그러나 POST 가 GET 보다 더 좋다 는 것 이 아니 라 각자 의 장점 이 있 습 니 다.GET 방법 은 KCF 의 햄버거 처럼 편리 하고 맛 있 으 며 POST 는 집에 있 는 반찬 처럼 시간 이 걸 리 지만 더욱 안심 할 수 있 습 니 다.
여기 서 쇠뿔 도 단 김 에 빼 라!HTTPGet 과 HTTPPost 의 차이 점 을 자세히 설명 하 는 글 은 여기까지 입 니 다.더 많은 관련 HTTPGet 과 HTTPPost 의 차이 점 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기