前端学习笔记:HTTP知识点

TCP/IP 提供了一种通过互联网可靠地进行原始数据端到端传输的方法。

超文字传输协议 (HTTP) 是专为网络客户端与 Web 服务器交换数据而设计的应用协议。

不涉及数据应如何运输, 大多数网络使用 TCP/IP 进行传输。

客户端向服务器发送 HTTP 请求,服务器向客户端返回 HTTP 响应。

使用 HTTP 时,客户端始终以请求响应消息交换模式与服务器通信。

客户端在收到所有回复后立即关闭连接。

优势:最大限度地减少服务器需要维护的实时连接

URL用于识别 Web 上的资源

Typical format: scheme://host[:port]/path[?query][#fragment]

e.g.,   http://www.example.com:8080/foo/bar?p1=v1&p2=v2#abc

scheme – "how to connect & exchange data" ("http" or "https")

host – host name or IP address (where to connect)

port – port number, defaults to 80 for "http", 443 for "https".

path – a path-like string that identifies a resource at the server

queryserves like "parameters"

fragment – identify a secondary resource (e.g., id of an element within the HTML document)

HTTP方法:GET, POST, PUT, DELETE, HEAD, etc.

GET方法多用于:用户点击一个链接, 在浏览器地址栏输入URL,浏览器检索HTML所需的文件(图片,CSS等)

表单提交的时候,既可以通过GET,也可以POST

GETPOST
无主体(仅在请求URL中携带数据)可以在请求URL和主体中携带数据
由于网址长度有限,只能携带数量有限的数据 
可以被当作书签,在浏览器的位置栏中可见,仅适用于通过浏览器或点击链接形成提交:不包括通过JS发送的获取请求。 (安全问题)

如果被当作书签,仅保存网址(而不是主体中的数据)

 

可被记录在浏览器历史记录中,和/或服务器日志(安全问题)仅适用于通过浏览器或点击链接形成提交:不包括通过JS发送的获取请求。可以记录网址。 主体中的内容通常不被记录下来。

获取请求被认为是无能的(即相同的URL始终检索相同的资源,不会造成任何副作用)

POST被认为不无能(即可能导致应用程序状态更改)。
重新加载(重新发送)GET请求时,浏览器不发出警告。

当用户尝试重新加载POST请求时,浏览器通常会发出警告。

检索到的资源是可缓存的。除非设置相应的缓存控制或过期标题字段,否则检索的资源不可缓存。

请求URL中 e.g.,

  /main/index.html

  /foo/bar/index?123456789

  /foo/bar/index?name1=value1&name2=value2

A query string 通常包含 "URL encoded" name-value pairs

大多数WEB框架支持 URL 编码/解码

HTTP请求中,每个header field 都有一个name和一个value.

完整的header列表,可参考https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers

常用的header:

User-Agent: WEB客户端以及客户端操作系统的数据

Referer (一个'r'): 发出请求的网页的URL.

Cookie: Cookies

Content-Type: 主体中资源的媒体类型 ,在request中,表示数据在主体中的编码方式

HTTP主体,在请求方法为POST和PUT时携带数据,数据可以以任何形式进行编码,具体由content-type规定。

HTTP相应中的有用信息:状态行中有状态编号和原因描述 e.g.,200 OK ,404 NotFound

主体中含有请求资源,可能会是一个静态文件/一个动态生成的内容

Content-Type: 主体中资源的媒体类型(MIME type) 

A script 可以动态的创建text文件, CSV文件, image, etc.

Plain text file   -  Content-Type: text/plain

HTML file        -  Content-Type: text/html

CSV file           -  Content-Type: text/csv 

Content-Disposition: 请求WEB客户端保存的内容 

e.g., Content-Disposition: attachment; filename="foo.jpg"

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值